Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ICaseFunction.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/* ICaseFunction.h (C) 2000-2023 */
9/* */
10/* Interface of a dataset function. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_ICASEFUNCTION_H
13#define ARCANE_CORE_ICASEFUNCTION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
45class ARCANE_CORE_EXPORT ICaseFunction
46{
48
49 public:
50
60
72
73 public:
74
75 // NOTE: Temporarily leave this public destructor until
76 // we call this destructor explicitly, but with the reference
77 // counter, this should normally no longer be the case.
78 virtual ~ICaseFunction() = default;
79
80 public:
81
84
85 virtual String name() const = 0;
86
88 virtual void setName(const String& new_name) = 0;
90
93
94 virtual eParamType paramType() const = 0;
95
97 virtual void setParamType(eParamType type) = 0;
99
102
103 virtual eValueType valueType() const = 0;
104
106 virtual void setValueType(eValueType type) = 0;
108
114 virtual void setTransformValueFunction(const String& str) = 0;
115
117 virtual String transformValueFunction() const = 0;
118
125 virtual void setTransformParamFunction(const String& str) = 0;
126
128 virtual String transformParamFunction() const = 0;
129
135 virtual bool checkIfValid() const = 0;
136
146 virtual void setDeltatCoef(Real v) = 0;
147
149 virtual Real deltatCoef() const = 0;
150
151 public:
152
154 virtual void value(Real param, Real& v) const = 0;
155
157 virtual void value(Real param, Integer& v) const = 0;
158
160 virtual void value(Real param, bool& v) const = 0;
161
163 virtual void value(Real param, String& v) const = 0;
164
166 virtual void value(Real param, Real3& v) const = 0;
167
169 virtual void value(Integer param, Real& v) const = 0;
170
172 virtual void value(Integer param, Integer& v) const = 0;
173
174 // Value \a v of the option for parameter \a param.
175 virtual void value(Integer param, bool& v) const = 0;
176
178 virtual void value(Integer param, String& v) const = 0;
179
181 virtual void value(Integer param, Real3& v) const = 0;
182};
183
184/*---------------------------------------------------------------------------*/
185/*---------------------------------------------------------------------------*/
186
187} // End namespace Arcane
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
191
192#endif
Declarations of Arcane's general types.
#define ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro to declare the virtual methods managing reference counters.
Interface of a dataset function.
virtual void setName(const String &new_name)=0
Sets the function name to new_name.
virtual void value(Integer param, String &v) const =0
Value v of the option for parameter param.
virtual ~ICaseFunction()=default
Releases resources.
virtual void setValueType(eValueType type)=0
Sets the function value type.
virtual Real deltatCoef() const =0
Value of the deltat multiplier coefficient.
virtual void value(Real param, Integer &v) const =0
Value v of the option for parameter param.
eParamType
Type of a function parameter.
@ ParamUnknown
Unknown parameter type.
@ ParamReal
Real type parameter.
@ ParamInteger
Integer type parameter.
eValueType
Type of a function value.
@ ValueReal3
'Real3' type value
@ ValueUnknown
Unknown value type.
@ ValueInteger
Integer type value.
@ ValueString
String type value.
@ ValueReal
Real type value.
@ ValueBool
Boolean type value.
virtual String transformParamFunction() const =0
Parameter transformation function.
virtual void value(Real param, String &v) const =0
Value v of the option for parameter param.
virtual String name() const =0
function name
virtual bool checkIfValid() const =0
Checks the validity of the function.
virtual void setTransformValueFunction(const String &str)=0
Sets a value transformation function. For now, this is just a multiplicative coefficient....
virtual void setDeltatCoef(Real v)=0
Sets the value of the deltat multiplier coefficient.
virtual void value(Real param, Real &v) const =0
Value v of the option for parameter param.
virtual void value(Real param, Real3 &v) const =0
Value v of the option for parameter param.
virtual void value(Integer param, Real3 &v) const =0
Value v of the option for parameter param.
virtual eValueType valueType() const =0
Function value type.
virtual String transformValueFunction() const =0
Returns the value transformation function.
virtual eParamType paramType() const =0
Function parameter type.
virtual void value(Integer param, Real &v) const =0
Value v of the option for parameter param.
virtual void setParamType(eParamType type)=0
Sets the function parameter type.
virtual void value(Real param, bool &v) const =0
Value v of the option for parameter param.
virtual void setTransformParamFunction(const String &str)=0
Sets a parameter transformation function. For now, this is just a multiplicative coefficient....
virtual void value(Integer param, Integer &v) const =0
Value v of the option for parameter param.
Class managing a 3-dimensional real vector.
Definition Real3.h:132
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
double Real
Type representing a real number.