C++ main module for gpm Package
1.0
|
This class is a root expression The MATH_RootExpression::newClassFactoryInstance() creates the class factory for creating nodes. More...
#include <MATH_RootExpression.h>
Public Member Functions | |
const double & | operator[] (const int &index) const |
const double * | getValues () const |
get the values More... | |
const double & | getValue (const int &index) const |
get the values More... | |
virtual const MATH_RootExpression * | getRootNode () const |
return the root node of the node More... | |
virtual int | evaluate (const tFlag &action, MATH_Environment &symbols, MATH_Variable &var) const |
void evaluate the expression More... | |
virtual double | evaluate () |
void evaluate the expression More... | |
virtual double | evaluate (MATH_Environment &env) |
void evaluate the expression More... | |
virtual double | evaluate (SP::MATH_Environment env) |
void evaluate the expression More... | |
virtual double | evaluate (const tFlag &action) |
void evaluate the expression More... | |
virtual double | evaluate (const tFlag &action, MATH_Environment &symbols) |
void evaluate the expression More... | |
virtual double | evaluate (const tFlag &action, SP::MATH_Environment symbols) |
void evaluate the expression More... | |
tBoolean | parse (const tString &expr, MATH_Environment &symbols) |
parse the string More... | |
tBoolean | parse (const tString &expr) |
parse the string More... | |
tString | parse (const tString &expr, MATH_Environment &env, int &retCode) |
parse the string expr. More... | |
virtual SP::MATH_ExpressionClassFactory | newClassFactoryInstance () const |
create a class factory for leaves or operators More... | |
virtual tString | toString () const |
return the string representation More... | |
void | setArgumentsNumber (const int &n) |
set the arguments number More... | |
virtual tBoolean | addArgument (SP::MATH_ChildExpression operand) |
add the argument More... | |
virtual tBoolean | addArgument (MATH_ChildExpression *operand) |
add the argument More... | |
tBoolean | setArgument (const int &index, SP::MATH_ChildExpression org) |
set the argument at index More... | |
tBoolean | setArgument (const int &index, MATH_ChildExpression *arg) |
set an argument at index More... | |
void | resetArgument (const int &index) |
reset the argument at index More... | |
void | resetArguments () |
reset all the arguments More... | |
SPC::MATH_ChildExpression | getArgument (const int &i) const |
get argument at index i for reading More... | |
SP::MATH_ChildExpression | getArgument (const int &i) |
get argument at index i for writing More... | |
int | getArgumentsNumber () const |
get the arguments number More... | |
int | evaluate (MATH_Environment &symbols, MATH_Variable &value) const |
void evaluate the algebric expression More... | |
void | getSharedPointer (SP::CORE_Object &p) |
get the shared pointer of this class into p More... | |
void | getSharedPointer (SPC::CORE_Object &p) const |
get the shared pointer of this class into p More... | |
tString | getClassName () const |
return the class name of the object More... | |
tString | getIdentityString () const |
return the identity string of the object of the form className_at_address More... | |
tString | getPointerAddress () const |
return the identity string of the object More... | |
template<class T > | |
tBoolean | isInstanceOf () const |
return true if the object is an instance of T More... | |
virtual void | print () |
print the class More... | |
virtual ostream & | print (ostream &out) const |
print the class More... | |
virtual void | print (const tString &message) |
print the class More... | |
virtual void | print (const tInteger &str) |
print More... | |
virtual void | print (const tRelativeInteger &str) |
print More... | |
virtual void | print (const tReal &str) |
print More... | |
virtual void | print (const int &str) |
print More... | |
Static Public Member Functions | |
static SP::MATH_RootExpression | New () |
create a root expression More... | |
static tString | getClassName (const tString &identityString) |
return the class name of the object using only the identity string More... | |
template<class T > | |
static tString | getTypeName () |
get type name More... | |
static tBoolean | is64Architecture () |
return true if the machine is a 64 bits machine More... | |
static tBoolean | is32Architecture () |
return true if the machine is a 32 bits machine More... | |
static tString | pointer2String (const void *obj) |
return the string represantation of a pointer More... | |
static void | setOutput (ostream &out) |
set output More... | |
static ostream & | getOutput () |
get output More... | |
static void | printObjectsInMemory () |
print object in memory More... | |
static ostream & | print (ostream &out, const tString &message) |
print the class More... | |
static void | outputPrint (const tString &message) |
Static Public Attributes | |
static const tFlag | ALGEBRIC =0 |
static const tFlag | IS_INSIDE =1 |
static const tFlag | COMPUTE_BOUNDS =2 |
static const int | SUCCESS =0 |
static const int | FAIL =-1 |
static const int | TYPE_MISMATCHED =-2 |
static const int | SIZE_MISMATCHED =-3 |
static const int | OUT_OF_BOUNDS =-4 |
static const int | NULL_OPERAND =-5 |
static tBoolean | mIsMemoryTesting =false |
indicator to store all classes created and deleted only for debuging version More... | |
Protected Member Functions | |
MATH_RootExpression (void) | |
create More... | |
virtual | ~MATH_RootExpression (void) |
destroy More... | |
void | setThis (SP::CORE_Object p) |
set this weak shared pointer called toDoAfterThis setting method More... | |
virtual void | setType (tString type) |
set the type of the object More... | |
virtual void | toDoAfterThisSetting () |
method called after setThis() method this method can oly be called once. More... | |
This class is a root expression The MATH_RootExpression::newClassFactoryInstance() creates the class factory for creating nodes.
|
protected |
create
References MATH_Variable::New().
Referenced by New().
|
protectedvirtual |
destroy
|
virtualinherited |
add the argument
Reimplemented in MATH_NodeExpression.
References MATH_ParentExpression::getArgument(), MATH_ParentExpression::getArgumentsNumber(), null, MATH_ParentExpression::setArgument(), and MATH_ParentExpression::setArgumentsNumber().
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), MATH_UnaryOperator::insertInTree(), MATH_BeginBlock::insertInTree(), and MATH_LeafExpression::insertInTree().
|
inlinevirtualinherited |
add the argument
Reimplemented in MATH_NodeExpression.
References MATH_ParentExpression::addArgument(), CORE_Object::getSharedPointer(), and null.
|
inlinevirtual |
void evaluate the expression
Reimplemented from MATH_ParentExpression.
References MATH_ParentExpression::evaluate().
Referenced by MATH_VectorFunction::evaluate(), MATH_LinearTransform::evaluateParameters(), MATH_TranslationTransform::evaluateParameters(), MATH_RotationTransform::evaluateParameters(), MATH_kBoxSet::evaluateParameters(), MATH_ParableSet::evaluateParameters(), MATH_RectangleSet::evaluateParameters(), and MATH_DiskSet::evaluateParameters().
|
inlinevirtual |
void evaluate the expression
References MATH_Expression::ALGEBRIC, and MATH_Environment::New().
Referenced by evaluate().
|
inlinevirtual |
void evaluate the expression
References MATH_Expression::ALGEBRIC, and evaluate().
|
inlineinherited |
void evaluate the algebric expression
symbols | algebric values of symbol |
References MATH_Expression::evaluate().
|
inlinevirtual |
void evaluate the expression
References MATH_Expression::ALGEBRIC, evaluate(), and null.
|
inlinevirtual |
void evaluate the expression
References evaluate(), and MATH_Environment::New().
|
inlinevirtual |
|
inlinevirtual |
void evaluate the expression
References evaluate(), and null.
|
inlineinherited |
get argument at index i for reading
i | index of the argument |
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), MATH_ModuloOperator::evaluate(), MATH_DivideOperator::evaluate(), MATH_EOperator::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_NotOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_LEOperator::evaluate(), MATH_EQOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_NEQOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_MinusOperator::evaluate(), MATH_LTOperator::evaluate(), MATH_GEOperator::evaluate(), MATH_GTOperator::evaluate(), MATH_BeginBlock::evaluate(), MATH_BinaryOperator::getLastFreeChildIndex(), MATH_BeginBlock::remove(), MATH_BinaryOperator::toString(), and MATH_UnaryOperator::toString().
|
inlineinherited |
get argument at index i for writing
i | index of the argument |
|
inlineinherited |
get the arguments number
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), and MATH_ParentExpression::setArgument().
return the class name of the object using only the identity string
Referenced by CORE_Object::printObjectsInMemory().
|
inherited |
return the class name of the object
References tString.
Referenced by CORE_Object::getIdentityString().
|
inlineinherited |
return the identity string of the object of the form className_at_address
References CORE_Object::getClassName(), CORE_Object::pointer2String(), and tString.
Referenced by CORE_Object::toString().
|
inlinestaticinherited |
get output
|
inlineinherited |
return the identity string of the object
References CORE_Object::pointer2String().
|
inlinevirtual |
return the root node of the node
Implements MATH_ParentExpression.
|
inlineinherited |
get the shared pointer of this class into p
Referenced by MATH_ParentExpression::addArgument(), GPMG_EnvironmentPanel::componentClicked(), GPM_GraphElement::copy(), CORE_Map< Key, Value >::getSharedPointer(), CORE_Array< T >::getSharedPointer(), CORE_Vector< T >::getSharedPointer(), CORE_Matrix< T >::getSharedPointer(), CORE_Object::printObjectsInMemory(), MATH_ParentExpression::setArgument(), GPMG_EnvironmentPanel::setEnvironment(), GPM_GraphElement::setGraph(), GPMG_GraphElementWindow::setGraphElement(), GPMG_ShowGraphDrawPanel::showGraph(), and GPMG_RuleGraphDrawPanel::showRule().
|
inlineinherited |
get the shared pointer of this class into p
|
inlinestaticinherited |
get type name
References tString.
|
inline |
get the values
|
inline |
get the values
|
inlinestaticinherited |
return true if the machine is a 32 bits machine
References CORE_Object::is64Architecture().
|
staticinherited |
return true if the machine is a 64 bits machine
Referenced by CORE_Object::is32Architecture().
|
inlineinherited |
return true if the object is an instance of T
References null.
Referenced by MATH_BinaryOperator::insertInTree(), MATH_UnaryOperator::insertInTree(), and MATH_EndBlock::insertInTree().
|
inlinestatic |
create a root expression
References MATH_RootExpression().
Referenced by MATH_ExpressionClassFactory::NewInstance(), and MATH_FunctionNode::readArguments().
|
virtual |
create a class factory for leaves or operators
References MATH_ExpressionClassFactory::New().
Referenced by parse(), and MATH_FunctionNode::readArguments().
|
inline |
|
staticinherited |
print on output
References null, and CORE_Object::print().
Referenced by CORE_Exception::CORE_Exception().
tBoolean MATH_RootExpression::parse | ( | const tString & | expr, |
MATH_Environment & | symbols | ||
) |
parse the string
expr | the expression to analyse |
symbols | the symbols in expression |
References MATH_ParentExpression::resetArguments(), and tString.
Referenced by parse().
parse the string
expr | the expression to analyse |
symbols | the symbols in expression |
References MATH_Environment::New(), and parse().
tString MATH_RootExpression::parse | ( | const tString & | expr, |
MATH_Environment & | env, | ||
int & | retCode | ||
) |
parse the string expr.
expr | the expression to analyse |
env | the symbols in expression |
retCode | the retCode of the found node in expression |
References MATH_ExpressionClassFactory::BLOCK_MISMATCHED, MATH_ExpressionClassFactory::EMPTY, MATH_ExpressionClassFactory::END_ARGUMENT, newClassFactoryInstance(), null, tString, and MATH_ExpressionClassFactory::UNKNOWN_NODE.
|
staticinherited |
return the string represantation of a pointer
References tString.
Referenced by CORE_Object::CORE_Object(), CORE_Object::getIdentityString(), CORE_Object::getPointerAddress(), and CORE_Object::~CORE_Object().
|
inlinevirtualinherited |
print the class
References CORE_Object::toString().
Referenced by CORE_Object::outputPrint(), CORE_Out::print(), CORE_Object::print(), CORE_Out::printInt(), CORE_Out::println(), CORE_Out::printReal(), CORE_Out::printString(), and CORE_Out::setAction().
|
inlinevirtualinherited |
print the class
References CORE_Object::print(), and CORE_Object::toString().
|
virtualinherited |
print the class
Reimplemented in CORE_Out.
References null, and CORE_Object::print().
|
virtualinherited |
References null.
|
virtualinherited |
References null.
|
inlinestaticinherited |
print the class
|
staticinherited |
print object in memory
References CORE_Object::getClassName(), CORE_Object::getSharedPointer(), and CORE_Object::mIsMemoryTesting.
Referenced by main().
|
inherited |
reset the argument at index
References null.
Referenced by MATH_ParentExpression::resetArguments().
|
inlineinherited |
reset all the arguments
References MATH_ParentExpression::resetArgument().
Referenced by parse().
|
inherited |
set the argument at index
index | index of the argument to set |
arg | value of the argument |
References MATH_ParentExpression::getArgumentsNumber(), and null.
Referenced by MATH_NodeExpression::addArgument(), MATH_ParentExpression::addArgument(), MATH_UnaryOperator::insertInTree(), MATH_BeginBlock::remove(), and MATH_ParentExpression::setArgument().
|
inlineinherited |
set an argument at index
index | index of the argument to set |
arg | value of the argument |
References CORE_Object::getSharedPointer(), null, and MATH_ParentExpression::setArgument().
|
inlineinherited |
set the arguments number
Referenced by MATH_ParentExpression::addArgument(), MATH_BeginBlock::MATH_BeginBlock(), MATH_BinaryOperator::MATH_BinaryOperator(), MATH_EndBlock::MATH_EndBlock(), and MATH_UnaryOperator::MATH_UnaryOperator().
|
inlinestaticinherited |
set output
|
inlineprotectedinherited |
set this weak shared pointer called toDoAfterThis setting method
References CORE_Object::toDoAfterThisSetting().
|
inlineprotectedvirtualinherited |
set the type of the object
Referenced by CORE_CommandLine::CORE_CommandLine(), CORE_IO::CORE_IO(), GPM_2DSnowGraph::GPM_2DSnowGraph(), GPM_BGLTest::GPM_BGLTest(), GPM_ClassFactory::GPM_ClassFactory(), GPM_ConwayFunction::GPM_ConwayFunction(), GPM_ConwayGraph::GPM_ConwayGraph(), GPM_CoreRun::GPM_CoreRun(), GPM_CoreTest::GPM_CoreTest(), GPM_Edge::GPM_Edge(), GPM_ExamplesRun::GPM_ExamplesRun(), GPM_Function::GPM_Function(), GPM_Graph::GPM_Graph(), GPM_GraphElement::GPM_GraphElement(), GPM_ModelGraph::GPM_ModelGraph(), GPM_Node::GPM_Node(), GPM_Object::GPM_Object(), GPM_PatternFunction::GPM_PatternFunction(), GPM_Port::GPM_Port(), GPM_PortGraph::GPM_PortGraph(), GPM_Snow2DFunction::GPM_Snow2DFunction(), GPM_Snow3DFunction::GPM_Snow3DFunction(), GPM_Vertex::GPM_Vertex(), and MATH_ExpressionRun::MATH_ExpressionRun().
|
inlineprotectedvirtualinherited |
method called after setThis() method this method can oly be called once.
Reimplemented in GPM_2DSnowGraph, GPMG_EnvironmentWindow, GPM_GraphElement, GPM_ModelFunction, GPM_ModelGraph, GPMG_RuleGraphWindow, GPMG_MovieGraphWindow, GPMG_ShowGraphWindow, and GPM_Function.
Referenced by CORE_Object::setThis(), GPM_ModelGraph::toDoAfterThisSetting(), GPM_GraphElement::toDoAfterThisSetting(), and GPM_2DSnowGraph::toDoAfterThisSetting().
|
virtual |
return the string representation
Reimplemented from MATH_ParentExpression.
References MATH_ParentExpression::toString(), and tString.
|
staticinherited |
Referenced by MATH_NumericalFunction::evaluate(), MATH_LEOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_EQOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_NEQOperator::evaluate(), MATH_VectorFunction::evaluate(), MATH_LTOperator::evaluate(), MATH_GEOperator::evaluate(), MATH_GTOperator::evaluate(), evaluate(), MATH_LinearTransform::evaluateParameters(), MATH_TranslationTransform::evaluateParameters(), MATH_RotationTransform::evaluateParameters(), MATH_kBoxSet::evaluateParameters(), MATH_ParableSet::evaluateParameters(), MATH_DiskSet::evaluateParameters(), and MATH_RectangleSet::evaluateParameters().
|
staticinherited |
|
staticinherited |
Referenced by MATH_ParentExpression::evaluate().
|
staticinherited |
|
staticinherited |
indicator to store all classes created and deleted only for debuging version
Referenced by CORE_Object::CORE_Object(), main(), CORE_Object::printObjectsInMemory(), and CORE_Object::~CORE_Object().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_ModuloOperator::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_LEOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_LTOperator::evaluate(), MATH_GEOperator::evaluate(), and MATH_GTOperator::evaluate().
|
staticinherited |
|
staticinherited |
Referenced by MATH_NumericalFunction::evaluate().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_ModuloOperator::evaluate(), MATH_NumericalFunction::evaluate(), MATH_SetTransformer::evaluate(), MATH_EOperator::evaluate(), MATH_AddOperator::evaluate(), MATH_Set::evaluate(), MATH_EndBlock::evaluate(), MATH_EQOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_NEQOperator::evaluate(), MATH_VectorFunction::evaluate(), and MATH_Environment::getVariable().
|
staticinherited |
Referenced by MATH_DivideOperator::evaluate(), MATH_NumericalFunction::evaluate(), MATH_ModuloOperator::evaluate(), MATH_SetTransformer::evaluate(), MATH_MultiplyOperator::evaluate(), MATH_NotOperator::evaluate(), MATH_OrOperator::evaluate(), MATH_AndOperator::evaluate(), MATH_NotBitwiseOperator::evaluate(), MATH_ArrayFunction::evaluate(), MATH_AndBitwiseOperator::evaluate(), MATH_XorBitwiseOperator::evaluate(), MATH_OrBitwiseOperator::evaluate(), and MATH_MinusOperator::evaluate().