|
C++ mpi module for stochmagnet_main Package
|
This class is a base class of the binary tree. More...
#include <EXPR_Node.h>


Public Member Functions | |
| virtual tMemSize | getMemorySize () const override |
| return the memory size of the class More... | |
| virtual tMemSize | getContentsMemorySize () const override |
| return nthe memory size of the included associations More... | |
| virtual void | copy (const EXPR_Node &node) |
| copy More... | |
| void | setAlpha (std::initializer_list< tReal > &&alpha) |
| set the matrix alpha by row More... | |
| void | setBeta (std::initializer_list< tReal > &&beta) |
| set the constant by column More... | |
| void | addToBeta (std::initializer_list< tReal > &&beta) |
| add to the constant by column More... | |
| const std::array< tReal, 3 > & | getBeta () const |
| get the beta value More... | |
| const std::array< tReal, 9 > & | getAlpha () const |
| get the alpha value More... | |
| void | leftComposition (const std::array< tReal, 9 > &A, const std::array< tReal, 3 > &B) |
| compose by the affine function \( (A.x+B) \circ (\alpha. x +\beta) \) More... | |
| void | leftComposition (const std::array< tReal, 9 > &A) |
| compose by the affine function \( (A.x) \circ (\alpha. x +\beta) \) More... | |
| void | rotation (const tReal &theta) |
| compute the rotation of the geometry with angle theta and k-axis More... | |
| void | rotation (const tReal &theta, const tReal &Ax, const tReal &Ay, const tReal &Az) |
| compute the rotation of the geometry with angle theta and axis (Ax,Ay,Az) More... | |
| void | rotation (const tReal &theta, const tReal &Ax, const tReal &Ay, const tReal &Az, const tReal &Cx, const tReal &Cy, const tReal &Cz) |
| compute the rotation of the geometry with angle theta and axis (Ax,Ay,Az)a and center (Cx,Cy,Cz) More... | |
| void | translate (const std::array< tReal, 3 > &T) |
| translate the geometry More... | |
| virtual void | adimensionize (const tReal &L, std::map< tString, tBoolean > &alreadyComputed) |
| adimensionize the node More... | |
| virtual void | computeBoundingBox (std::map< tString, tBoolean > &alreadyComputed)=0 |
| compute the bounding box of the node More... | |
| const std::array< tReal, 3 > & | getBoundingBoxMinPoint () const |
| get the min point bounding box of the node for reading More... | |
| const std::array< tReal, 3 > & | getBoundingBoxMaxPoint () const |
| get the max point bounding box of the node for reading More... | |
| std::array< tReal, 3 > & | getBoundingBoxMinPoint () |
| get the min point bounding box of the node for writing More... | |
| std::array< tReal, 3 > & | getBoundingBoxMaxPoint () |
| get the max point bounding box of the node for writing More... | |
| tBoolean | isInsideBoundingBox (const std::array< tReal, 3 > &P) const |
| return true if the point P is in the bounding box More... | |
| virtual tBoolean | isInside (std::array< tReal, 3 > M) const =0 |
| return true if the point is in the bounding box of the node More... | |
| virtual tString | toString () const override |
| return the string representation of this More... | |
Public Member Functions inherited from CORE_Object | |
| template<class T > | |
| std::shared_ptr< T > | getSharedPointer () |
| return the shared pointer for this More... | |
| template<class T > | |
| std::shared_ptr< const T > | getConstSharedPointer () const |
| return a const shared pointer for this More... | |
| template<class T > | |
| tBoolean | isInstanceOf () const |
| test if the clas T is an instance of this class More... | |
| tString | getClassName () const |
| return the name of the class More... | |
| tString | getPointerString () const |
| retrun the pointer of the class as a string More... | |
| tString | getIdentityString () const |
| retrun the string identification of the class More... | |
Static Public Member Functions | |
| static void | SetEpsilon (const tReal &eps) |
| set the tolerance error More... | |
| static const tReal & | GetEpsilon () |
| get the tolerance error More... | |
Static Public Member Functions inherited from CORE_Object | |
| static tBoolean | EnableMemoryStack (const tBoolean &isMemoryChecked) |
| enable the memory stack More... | |
| static void | EnableMemoryStack () |
| enable the memory stack | |
| static void | DisableMemoryStack () |
| disable the memory stack | |
| static tBoolean | IsMemoryStackEnabled () |
| return trur if the memory stack is enabled | |
| static tString | MemoryStackToString () |
| get the memory stack in string More... | |
| static tIndex | GetRegisteredClassesNumber () |
| get the memory stack in string More... | |
Protected Member Functions | |
| EXPR_Node () | |
| create the class | |
| virtual | ~EXPR_Node () |
| delete the class | |
| void | apply (std::array< tReal, 3 > &P) const |
| apply the transformation to point P \( Q:=F(P)=mAlpha.P+mBeta \) More... | |
| tBoolean | apply (const std::array< tReal, 3 > &P, std::array< tReal, 3 > &Q) const |
| apply the transformation to point P \( Q:=F(P)=mAlpha.P+mBeta \) More... | |
| void | applyInverse (std::array< tReal, 3 > &P) const |
| apply the inverse transformation to point P \( Q:=F^{-1}(P)=\alpha^{-1}.(P-\beta) \) More... | |
| tBoolean | applyInverse (const std::array< tReal, 3 > &P, std::array< tReal, 3 > &Q) const |
| apply the inverse transformation to point P \( Q:=F^{-1}(P)=\alpha^{-1}.(P-\beta) \) More... | |
| void | linearTransformBoundingBox (std::array< tReal, 3 > &P, std::array< tReal, 3 > &Q) const |
| compute the bounding box after transformation More... | |
Protected Member Functions inherited from EXPR_Object | |
| EXPR_Object (void) | |
| create the class | |
| virtual | ~EXPR_Object (void) |
| delete the class | |
Protected Member Functions inherited from CORE_Object | |
| CORE_Object () | |
| build an instance of the object | |
| virtual | ~CORE_Object () |
| destroy the instance of object std | |
This class is a base class of the binary tree.
|
inline |
add to the constant by column
| [in] | beta | translation value to add |
|
virtual |
adimensionize the node
| [in] | L | : the reference length |
| [in,out] | alreadComputed | identity of the root node whose adimenionization has already been computed |
Reimplemented in EXPR_VariableNode, EXPR_ParentNode, and EXPR_ElementaryGeometryNode.
|
inlineprotected |
apply the transformation to point P \( Q:=F(P)=mAlpha.P+mBeta \)
| [in] | P | : the point to transform |
| [out] | Q | the transformed point |
|
inlineprotected |
apply the transformation to point P \( Q:=F(P)=mAlpha.P+mBeta \)
| [in,out] | P | : in input the point to transform, in output the tranformed point |
|
inlineprotected |
apply the inverse transformation to point P \( Q:=F^{-1}(P)=\alpha^{-1}.(P-\beta) \)
| [in] | P | : the point to transform |
| [out] | Q | the transformed point |
|
inlineprotected |
apply the inverse transformation to point P \( Q:=F^{-1}(P)=\alpha^{-1}.(P-\beta) \)
| [in,out] | P | : in input the point to transform, in output, the transform point |
|
pure virtual |
compute the bounding box of the node
| [in,out] | alreadComputed | identity of the root node whose bounding box has already been computed |
Implemented in EXPR_VariableNode, EXPR_UnionOperator, EXPR_ParentNode, EXPR_NotOperator, EXPR_IntersectionOperator, EXPR_ElementaryGeometryNode, and EXPR_DifferenceOperator.
|
inlinevirtual |
copy
| node | the node to copy |
Reimplemented in EXPR_Paver, EXPR_Ellipsoid, EXPR_ElementaryGeometryNode, and EXPR_Cylinder.
|
inline |
get the alpha value
|
inline |
get the beta value
|
inline |
get the max point bounding box of the node for writing
|
inline |
get the max point bounding box of the node for reading
|
inline |
get the min point bounding box of the node for writing
|
inline |
get the min point bounding box of the node for reading
|
inlineoverridevirtual |
return nthe memory size of the included associations
Reimplemented from EXPR_Object.
Reimplemented in EXPR_VariableNode, EXPR_UnionOperator, EXPR_RootNode, EXPR_Paver, EXPR_ParentNode, EXPR_OperatorNode, EXPR_NotOperator, EXPR_LeafNode, EXPR_IntersectionOperator, EXPR_InheritedNode, EXPR_GroupNode, EXPR_EmptyNode, EXPR_Ellipsoid, EXPR_ElementaryGeometryNode, EXPR_DifferenceOperator, EXPR_Cylinder, and EXPR_ChildNode.
|
inlinestatic |
get the tolerance error
|
inlineoverridevirtual |
return the memory size of the class
Reimplemented from EXPR_Object.
Reimplemented in EXPR_VariableNode, EXPR_UnionOperator, EXPR_RootNode, EXPR_Paver, EXPR_ParentNode, EXPR_OperatorNode, EXPR_NotOperator, EXPR_LeafNode, EXPR_IntersectionOperator, EXPR_InheritedNode, EXPR_GroupNode, EXPR_EmptyNode, EXPR_Ellipsoid, EXPR_ElementaryGeometryNode, EXPR_DifferenceOperator, EXPR_Cylinder, and EXPR_ChildNode.
|
pure virtual |
return true if the point is in the bounding box of the node
| [in] | M | coordinates of the point to test if inside |
Implemented in EXPR_VariableNode, EXPR_UnionOperator, EXPR_NotOperator, EXPR_IntersectionOperator, EXPR_ElementaryGeometryNode, EXPR_DifferenceOperator, and EXPR_ParentNode.
|
inline |
return true if the point P is in the bounding box
| [in] | P | : the point to test |
|
inline |
compose by the affine function \( (A.x) \circ (\alpha. x +\beta) \)
| A[in] | : matrix of size 3x3 order by rows |
|
inline |
compose by the affine function \( (A.x+B) \circ (\alpha. x +\beta) \)
| [in] | A | : matrix of size 3x3 ordered by rows |
| [in] | B | : vector of size 3 |
| [in] | W | : work vector of size 3 |
|
protected |
compute the bounding box after transformation
| [in] | P | min point of the initial bounding box |
| [in] | Q | max point of the initial bounding box |
|
inline |
compute the rotation of the geometry with angle theta and k-axis
| [in] | theta | rotation angle |
|
inline |
compute the rotation of the geometry with angle theta and axis (Ax,Ay,Az)
| theta | rotation angle | |
| [in] | Ax | : x-coordinate of the axe |
| [in] | Ay | : y-coordinate of the axe |
| [in] | Az | : z-coordinate of the axe |
|
inline |
compute the rotation of the geometry with angle theta and axis (Ax,Ay,Az)a and center (Cx,Cy,Cz)
| [in] | theta | rotation angle |
| [in] | Ax | : x-coordinate of the axe |
| [in] | Ay | : y-coordinate of the axe |
| [in] | Az | : z-coordinate of the axe |
| [in] | Cx | : x-coordinate of the center |
| [in] | Cy | : y-coordinate of the center |
| [in] | Cz | : z-coordinate of the center |
|
inline |
set the matrix alpha by row
| [ | alpha: the matrix of size 9 |
|
inline |
set the constant by column
| [in] | beta | translation value |
|
inlinestatic |
set the tolerance error
| [in] | eps | tolerance error |
|
overridevirtual |
return the string representation of this
Reimplemented from CORE_Object.
Reimplemented in EXPR_VariableNode, EXPR_UnionOperator, EXPR_ParentNode, EXPR_NotOperator, EXPR_IntersectionOperator, EXPR_InheritedNode, EXPR_GroupNode, EXPR_EmptyNode, EXPR_ElementaryGeometryNode, EXPR_DifferenceOperator, EXPR_Ellipsoid, and EXPR_Cylinder.
|
inline |
translate the geometry
| [in] | Tx | : x-coordinate of the translation |
| [in] | Ty | : y-coordinate of the translation |
| [in] | Tz | : z-coordinate of the translation |