Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
ITimeHistoryTransformer.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ITimeHistoryTransformer.h (C) 2000-2025 */
9/* */
10/* Interface of an object transforming history curves. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ITIMEHISTORYTRANSFORMER_H
13#define ARCANE_CORE_ITIMEHISTORYTRANSFORMER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/utils/String.h"
19#include "arcane/utils/Array.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30/*!
31 * \ingroup StandardService
32 * \brief Interface of an object transforming history curves.
33 *
34 * Classes implementing this interface can transform the
35 * time history curves. This allows, for example, modifying
36 * the points of the curves or removing them.
37 *
38 * Usage is done via the call to ITimeHistoryMng::applyTransformation(), which
39 * will call the transform() method of this instance for each curve.
40 *
41 * It is permitted to change the number of elements of the curve, but
42 * infos.iterations.size()*infos.sub_size and values.size() must have the same number
43 * of elements. It is not permitted to change the name of the curve or
44 * the number of values per iteration (sub_size).
45 */
46class ARCANE_CORE_EXPORT ITimeHistoryTransformer
47{
48 public:
49
50 //! Common info for each curve
52 {
53 public:
54
55 //! Name of the curve
57 //! List of iterations
59 //! Number of values per curve
61 };
62
63 public:
64
65 virtual ~ITimeHistoryTransformer() = default; //!< Frees resources
66
67 public:
68
69 //! Applies the transformation for a curve with \a Real values
70 virtual void transform(CommonInfo& infos, RealSharedArray values) = 0;
71
72 //! Applies the transformation for a curve with \a Int32 values
73 virtual void transform(CommonInfo& infos, Int32SharedArray values) = 0;
74
75 //! Applies the transformation for a curve with \a Int64 values
76 virtual void transform(CommonInfo& infos, Int64SharedArray values) = 0;
77};
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82} // namespace Arcane
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87#endif
Declarations of types used in Arcane.
Integer sub_size
Number of values per curve.
Int32SharedArray iterations
List of iterations.
Interface of an object transforming history curves.
virtual void transform(CommonInfo &infos, Int64SharedArray values)=0
Applies the transformation for a curve with Int64 values.
virtual ~ITimeHistoryTransformer()=default
Frees resources.
virtual void transform(CommonInfo &infos, RealSharedArray values)=0
Applies the transformation for a curve with Real values.
virtual void transform(CommonInfo &infos, Int32SharedArray values)=0
Applies the transformation for a curve with Int32 values.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
SharedArray< Int64 > Int64SharedArray
Dynamic 1D array of 64-bit integers.
Definition UtilsTypes.h:379
SharedArray< Real > RealSharedArray
Dynamic 1D array of reals.
Definition UtilsTypes.h:389
Int32 Integer
Type representing an integer.
SharedArray< Int32 > Int32SharedArray
Dynamic 1D array of 32-bit integers.
Definition UtilsTypes.h:381