#include <FunctionExpression.hpp>


Definition at line 37 of file FunctionExpression.hpp.
functions types ids
Definition at line 42 of file FunctionExpression.hpp.
00042 { 00043 constant, 00044 linearBase, 00045 normalComponent, 00046 fem, 00047 dg, 00048 spectral, 00049 derivative, 00050 meshReferences, 00051 composed, 00052 variable, 00053 cfunction, 00054 binaryOperation, 00055 unaryMinus, 00056 convection, 00057 00058 objectCharacteristic, 00059 meshCharacteristic, 00060 domainCharacteristic, 00061 00062 read, 00063 functionValue, 00064 not_, 00065 integrate 00066 };
enum Expression::Type [inherited] |
Reimplemented in IFStreamExpression, OFStreamExpression, and UnknownExpression.
Definition at line 42 of file Expression.hpp.
00042 { 00043 boolean, 00044 boundary, 00045 boundaryCondition, 00046 boundaryConditionList, 00047 00048 domain, 00049 00050 field, 00051 fieldlist, 00052 function, 00053 00054 ifstreamexpression, 00055 integrated, 00056 integratedOperator, 00057 insideExpression, 00058 insideListExpression, 00059 istreamexpression, 00060 istreamExpressionList, 00061 00062 linearExp, 00063 00064 mesh, 00065 multiLinearExp, 00066 multiLinearExpSum, 00067 multiLinearForm, 00068 multiLinearFormSum, 00069 00070 ofstreamexpression, 00071 option, 00072 ostreamexpression, 00073 ostreamExpressionList, 00074 00075 pdeEquation, 00076 pdeOperator, 00077 pdeOperatorSum, 00078 pdeProblem, 00079 problem, 00080 00081 real, 00082 00083 scene, 00084 solver, 00085 solverOptions, 00086 string, 00087 subOption, 00088 subOptionList, 00089 00090 testFunctionList, 00091 00092 unknown, 00093 unknownList, 00094 00095 variationalFormula, 00096 variationalBilinearOperator, 00097 variationalLinearOperator, 00098 variationalDirichlet, 00099 vector3 00100 };
| FunctionExpression::FunctionExpression | ( | const FunctionExpression & | e | ) |
Copy constructor
| e | the original function expression |
Definition at line 66 of file FunctionExpression.cpp.
00067 : Expression(e), 00068 __type(e.__type), 00069 __unknown(e.__unknown), 00070 __scalarFunction(e.__scalarFunction) 00071 { 00072 ; 00073 }
| FunctionExpression::FunctionExpression | ( | const FunctionExpression::FunctionType & | type | ) |
Builds a function expression of type type
| type | the type of the function expression |
Definition at line 76 of file FunctionExpression.cpp.
00077 : Expression(Expression::function), 00078 __type(type), 00079 __unknown(false), 00080 __scalarFunction(0) 00081 { 00082 ; 00083 }
| FunctionExpression::~FunctionExpression | ( | ) | [virtual] |
| std::ostream & FunctionExpression::put | ( | std::ostream & | os | ) | const [protected, virtual] |
Specialization of the put function
| os | the stream |
Implements Expression.
Reimplemented in FunctionExpressionConvection, FunctionExpressionDomainCharacteristic, FunctionExpressionMeshCharacteristic, FunctionExpressionMeshReferences, and FunctionExpressionVariable.
Definition at line 28 of file FunctionExpression.cpp.
References __scalarFunction.
00029 { 00030 os << *__scalarFunction; 00031 return os; 00032 }
| bool FunctionExpression::hasBoundaryExpression | ( | ) | const [virtual] |
Returns true if the functions has a boundary
Reimplemented in FunctionExpressionBinaryOperation, FunctionExpressionComposed, FunctionExpressionConvection, FunctionExpressionDerivative, FunctionExpressionNormalComponent, FunctionExpressionNot, FunctionExpressionUnaryMinus, FunctionExpressionValue, and FunctionExpressionVariable.
Definition at line 36 of file FunctionExpression.cpp.
Referenced by RealExpressionIntegrate::execute(), and value().
| const FunctionExpression::FunctionType & FunctionExpression::type | ( | ) | const |
Read only access to the type of the function
Reimplemented from Expression.
Definition at line 43 of file FunctionExpression.cpp.
References __type.
00044 { 00045 return __type; 00046 }
| ConstReferenceCounting< ScalarFunctionBase > FunctionExpression::function | ( | ) | const |
Access to the scalar function
Definition at line 50 of file FunctionExpression.cpp.
References __scalarFunction, and ASSERT.
Referenced by RealExpressionIntegrate::__integrate(), FunctionExpressionMeshReferences::ReferencesSet::add(), RealExpressionIntegrate::execute(), and FunctionExpressionVariable::execute().
00051 { 00052 ASSERT(__scalarFunction != 0); 00053 return __scalarFunction; 00054 }
| ReferenceCounting< FunctionExpression > FunctionExpression::value | ( | ) |
Access the value of the function expression
Definition at line 58 of file FunctionExpression.cpp.
References __scalarFunction, ASSERT, and hasBoundaryExpression().
00059 { 00060 ASSERT(__scalarFunction != 0); 00061 return new FunctionExpressionValue(__scalarFunction, 00062 this->hasBoundaryExpression()); 00063 }

| static Expression::Type Expression::getType | ( | ReferenceCounting< Expression > | e1, | |
| ReferenceCounting< Expression > | e2 | |||
| ) | [inline, static, protected, inherited] |
Traits conversion of types.
Definition at line 112 of file Expression.hpp.
References Expression::real.
00114 { 00115 return Expression::real; 00116 }
| virtual std::istream& Expression::_get | ( | std::istream & | is | ) | [inline, protected, virtual, inherited] |
Read *this to the input is.
Reimplemented in IStreamExpressionList, and RealExpressionVariable.
Definition at line 122 of file Expression.hpp.
References ErrorHandler::normal.
00123 { 00124 throw ErrorHandler(__FILE__,__LINE__, 00125 "operator >> is not supported for this expression", 00126 ErrorHandler::normal); 00127 return is; 00128 }
| virtual void Expression::execute | ( | ) | [pure virtual, inherited] |
Executes the expression.
Implemented in BooleanExpressionValue, BooleanExpressionUnaryOperator< F >, BooleanExpressionCompareOperator< B >, BooleanExpressionBinaryOperator< B >, BoundaryConditionExpressionDirichlet, BoundaryConditionExpressionFourrier, BoundaryConditionExpressionNeumann, BoundaryConditionListExpressionSet, BoundaryExpressionList, BoundaryExpressionPOVRay, BoundaryExpressionReferences, BoundaryExpressionSurfaceMesh, DomainExpressionAnalytic, DomainExpressionSet, DomainExpressionUndefined, DomainExpressionVariable, FieldExpression, FieldExpressionList, FunctionExpressionBinaryOperation, FunctionExpressionCFunction, FunctionExpressionComposed, FunctionExpressionConstant, FunctionExpressionConvection, FunctionExpressionDerivative, FunctionExpressionDG, FunctionExpressionDomainCharacteristic, FunctionExpressionFEM, FunctionExpressionIntegrate, FunctionExpressionLinearBasis, FunctionExpressionMeshCharacteristic, FunctionExpressionMeshReferences, FunctionExpressionNormalComponent, FunctionExpressionNot, FunctionExpressionObjectCharacteristic, FunctionExpressionRead, FunctionExpressionSpectral, FunctionExpressionUnaryMinus, FunctionExpressionValue, FunctionExpressionVariable, IFStreamExpressionUndefined, IFStreamExpressionValue, IFStreamExpressionVariable, InsideExpression, InsideListExpression, IntegratedExpressionUnknown, IntegratedExpressionTest, IntegratedExpressionFunctionExpression, IntegratedOperatorExpressionOrderZero, IntegratedOperatorExpressionGrad, IntegratedOperatorExpressionDx, IStreamExpression, IStreamExpressionList, LinearExpressionElementary, LinearExpressionElementaryTimesFunction, LinearExpressionElementaryTimesReal, MeshExpressionStructured, MeshExpressionSpectral, MeshExpressionSurface, MeshExpressionOctree, MeshExpressionVariable, MeshExpressionRead, MeshExpressionSimplify, MeshExpressionExtract, MeshExpressionTetrahedrize, MeshExpressionTetrahedrizeDomain, MeshExpressionUndefined, MeshExpressionTransform, MeshExpressionPeriodic, MultiLinearExpression, MultiLinearExpressionSum, MultiLinearFormExpression, MultiLinearFormSumExpression, OFStreamExpressionUndefined, OFStreamExpressionValue, OFStreamExpressionVariable, OptionExpression, OStreamExpression, OStreamExpressionList, PDEEquationExpression, PDEOperatorExpression, PDEOperatorSumExpression, PDEProblemExpressionDescription, PDESystemExpression, RealExpressionValue, RealExpressionBoolean, RealExpressionVariable, RealExpressionFunctionEvaluate, RealExpressionIntegrate, RealExpressionMinMax, RealExpressionPreIncrement, RealExpressionPostIncrement, RealExpressionPreDecrement, RealExpressionPostDecrement, RealExpressionCFunction, RealExpressionUnaryOperator< F >, RealExpressionBinaryOperator< B >, SceneExpressionPOVRay, SceneExpressionVariable, SceneExpressionTransform, SceneExpressionUndefined, SolutionExpressionVariable, SolutionExpressionUndefined, SolverExpression, SolverOptionsExpression, StringExpressionValue, StringExpressionConcat, StringExpressionReal, StringExpressionVariable, SubOptionExpressionString, SubOptionExpressionReal, SubOptionListExpression, TestFunctionExpressionList, UnknownExpression, UnknownListExpressionSet, VariationalDirichletListExpression, VariationalFormulaExpression, VariationalBilinearOperatorExpression, VariationalLinearOperatorExpression, VariationalProblemExpression, Vector3ExpressionValue, Vector3ExpressionTimesScalar, Vector3ExpressionVariable, and Vector3ExpressionBinaryOperator< B >.
Referenced by FunctionExpressionMeshReferences::ReferencesSet::execute().
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const Expression & | e | |||
| ) | [friend, inherited] |
this function allows to output expressions.
Definition at line 143 of file Expression.hpp.
00144 { 00145 return e.put(os); 00146 }
| std::istream& operator>> | ( | std::istream & | is, | |
| Expression & | e | |||
| ) | [friend, inherited] |
this function allows to read expressions from streams
Definition at line 149 of file Expression.hpp.
00150 { 00151 return e._get(is); 00152 }
const FunctionType FunctionExpression::__type [private] |
Type of function
Reimplemented from Expression.
Reimplemented in FunctionExpressionBinaryOperation.
Definition at line 68 of file FunctionExpression.hpp.
Referenced by type().
bool FunctionExpression::__unknown [private] |
is true if the function is unknown
Definition at line 70 of file FunctionExpression.hpp.
The function associated to the expression
Definition at line 73 of file FunctionExpression.hpp.
Referenced by FunctionExpressionVariable::execute(), FunctionExpressionUnaryMinus::execute(), FunctionExpressionSpectral::execute(), FunctionExpressionRead::execute(), FunctionExpressionObjectCharacteristic::execute(), FunctionExpressionNot::execute(), FunctionExpressionNormalComponent::execute(), FunctionExpressionMeshReferences::execute(), FunctionExpressionMeshCharacteristic::execute(), FunctionExpressionLinearBasis::execute(), FunctionExpressionIntegrate::execute(), FunctionExpressionFEM::execute(), FunctionExpressionDomainCharacteristic::execute(), FunctionExpressionDG::execute(), FunctionExpressionDerivative::execute(), FunctionExpressionConvection::execute(), FunctionExpressionConstant::execute(), FunctionExpressionComposed::execute(), FunctionExpressionCFunction::execute(), FunctionExpressionBinaryOperation::execute(), function(), FunctionExpressionValue::FunctionExpressionValue(), FunctionExpressionConvection::put(), put(), and value().
1.5.6