C++ mpi module for stochmagnet_main Package
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
EXPR_Cylinder Class Reference

This class describes an ellipsoide CYLINDER from. More...

#include <EXPR_Cylinder.h>

Inheritance diagram for EXPR_Cylinder:
Inheritance graph
[legend]
Collaboration diagram for EXPR_Cylinder:
Collaboration graph
[legend]

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 CORE_UniquePointer< EXPR_ElementaryGeometryNodenewInstance () const override
 create a new instance of this More...
 
virtual void copy (const EXPR_Node &node) override
 copy More...
 
virtual void setArguments (const std::vector< tString > &args) override
 set the argument to define the geometry More...
 
void setCenter (const std::array< tReal, 3 > &X)
 set the center of the botton ellipsoide More...
 
void setCenter (std::initializer_list< tReal > &&X)
 set the center More...
 
const std::array< tReal, 3 > & getCenter () const
 get the center More...
 
void setMainDirection (const std::array< tReal, 3 > &U)
 set the main direction More...
 
void setMainDirection (std::initializer_list< tReal > &&U)
 set the main direction More...
 
const std::array< tReal, 3 > & getMainDirection () const
 get the main direction More...
 
void setSecondDirection (const std::array< tReal, 3 > &U)
 set the second direction More...
 
void setSecondDirection (std::initializer_list< tReal > &&U)
 set the second direction More...
 
const std::array< tReal, 3 > & getSecondDirection () const
 get the second direction More...
 
void setLength (const tReal &L)
 set the length of the cylinder More...
 
const tReal & getLength () const
 get the length of the cylinder More...
 
void setMainRadius (const tReal &L)
 set the half-length along main direction More...
 
const tReal & getMainRadius () const
 get the half-length along main direction More...
 
void setSecondRadius (const tReal &L)
 set the half-length along secund direction More...
 
const tReal & getSecondRadius () const
 get the half-length along secund direction More...
 
void orthogonalize ()
 orthogonalize the data
 
virtual void adimensionize (const tReal &L) final
 adimensionize the cylinder More...
 
virtual tString toString () const final
 return the string representation of this More...
 
- Public Member Functions inherited from EXPR_ElementaryGeometryNode
const tString & getName () const
 get name More...
 
virtual tBoolean isInside (std::array< tReal, 3 > P) const override
 return true if the point is in the node More...
 
void computeBoundingBox ()
 compute the bounding box of the geometry taking into account the transformation of node
 
virtual void computeBoundingBox (std::map< tString, tBoolean > &alreadyComputed) override
 compute the bounding box of the node More...
 
virtual void adimensionize (const tReal &L, std::map< tString, tBoolean > &alreadyComputed) override
 adimensionize the node More...
 
- Public Member Functions inherited from EXPR_Node
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...
 
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...
 
- 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 CORE_UniquePointer< EXPR_CylinderNew ()
 crete the new instance of this More...
 
- Static Public Member Functions inherited from EXPR_ElementaryGeometryNode
static void GetSphericalCoordinates (const std::array< tReal, 3 > &M, const std::array< tReal, 3 > &C, tReal &r, tReal &theta, tReal &phi)
 get the spherical coordinate of the point M with center C, radius r, inclination theta and azimuth phi More...
 
- Static Public Member Functions inherited from EXPR_Node
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_Cylinder ()
 create the class
 
virtual ~EXPR_Cylinder ()
 delete the class
 
virtual tBoolean isInsideCanonicalGeometry (const std::array< tReal, 3 > &P) const final
 return true if the point is inside the canonical geometry More...
 
virtual void computeCanonicalBoundingBox (std::array< tReal, 3 > &minPoint, std::array< tReal, 3 > &maxPoint) const final
 compute the bounding box of the geometry More...
 
- Protected Member Functions inherited from EXPR_ElementaryGeometryNode
 EXPR_ElementaryGeometryNode ()
 create the class
 
virtual ~EXPR_ElementaryGeometryNode ()
 delete the class
 
void setName (const tString &name)
 set name More...
 
- Protected Member Functions inherited from EXPR_LeafNode
 EXPR_LeafNode ()
 create the class
 
virtual ~EXPR_LeafNode ()
 delete the class
 
- Protected Member Functions inherited from EXPR_ChildNode
 EXPR_ChildNode ()
 create the class
 
virtual ~EXPR_ChildNode ()
 delete the class
 
- Protected Member Functions inherited from EXPR_Node
 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

 

Detailed Description

This class describes an ellipsoide CYLINDER from.

Member Function Documentation

◆ adimensionize()

void EXPR_Cylinder::adimensionize ( const tReal &  L)
finalvirtual

adimensionize the cylinder

Parameters
[in]L: the reference length

Implements EXPR_ElementaryGeometryNode.

◆ computeCanonicalBoundingBox()

void EXPR_Cylinder::computeCanonicalBoundingBox ( std::array< tReal, 3 > &  minPoint,
std::array< tReal, 3 > &  maxPoint 
) const
finalprotectedvirtual

compute the bounding box of the geometry

Parameters
[out]minPointmin point of the bounding box ie left bottom point
[out]maxPointmax point of the bounding box ie right top point

Implements EXPR_ElementaryGeometryNode.

◆ copy()

virtual void EXPR_Cylinder::copy ( const EXPR_Node node)
inlineoverridevirtual

copy

Parameters
nodethe node to copy

Reimplemented from EXPR_ElementaryGeometryNode.

◆ getCenter()

const std::array<tReal,3>& EXPR_Cylinder::getCenter ( ) const
inline

get the center

Returns
the center of the bottom ellipoide

◆ getContentsMemorySize()

virtual tMemSize EXPR_Cylinder::getContentsMemorySize ( ) const
inlineoverridevirtual

return nthe memory size of the included associations

Returns
the memory size of the storage in bytes 1 Kb = 1024 bytes 1 Mb = 1024 Kb 1 Gb = 1024 Mb 1 Tb = 1024 Gb 1 Hb = 1024 Tb

Reimplemented from EXPR_ElementaryGeometryNode.

◆ getLength()

const tReal& EXPR_Cylinder::getLength ( ) const
inline

get the length of the cylinder

Returns
the length of the cylinder

◆ getMainDirection()

const std::array<tReal,3>& EXPR_Cylinder::getMainDirection ( ) const
inline

get the main direction

Returns
the main direction of the bottom ellipoide

◆ getMainRadius()

const tReal& EXPR_Cylinder::getMainRadius ( ) const
inline

get the half-length along main direction

Parameters
[in]Llength

◆ getMemorySize()

virtual tMemSize EXPR_Cylinder::getMemorySize ( ) const
inlineoverridevirtual

return the memory size of the class

Returns
the memory size of the class in bytes 1 octet = 1 byte 1 Ko = 1024 bytes 1 Mo = 1024 Ko 1 Go = 1024 Mo

Reimplemented from EXPR_ElementaryGeometryNode.

◆ getSecondDirection()

const std::array<tReal,3>& EXPR_Cylinder::getSecondDirection ( ) const
inline

get the second direction

Returns
the main direction of the bottom ellipoide

◆ getSecondRadius()

const tReal& EXPR_Cylinder::getSecondRadius ( ) const
inline

get the half-length along secund direction

Parameters
[in]Llength

◆ isInsideCanonicalGeometry()

tBoolean EXPR_Cylinder::isInsideCanonicalGeometry ( const std::array< tReal, 3 > &  P) const
finalprotectedvirtual

return true if the point is inside the canonical geometry

Parameters
[in]pcoordinates of the point to test
Returns
the true if the point p is in the node

Implements EXPR_ElementaryGeometryNode.

◆ New()

static CORE_UniquePointer<EXPR_Cylinder> EXPR_Cylinder::New ( )
inlinestatic

crete the new instance of this

Returns
the unique pointer to this

◆ newInstance()

virtual CORE_UniquePointer<EXPR_ElementaryGeometryNode> EXPR_Cylinder::newInstance ( ) const
inlineoverridevirtual

create a new instance of this

Returns
a new instance of this

Implements EXPR_ElementaryGeometryNode.

◆ setArguments()

void EXPR_Cylinder::setArguments ( const std::vector< tString > &  args)
overridevirtual

set the argument to define the geometry

Parameters
argsarguments as string args="Cx","Cy","Cz","Ux","Uy","Uz","Vx","Vy","Vz","H" where (Cx,Cy,Cz) is the center of the ellipsoide (Ux,Uy,Uz) is the main direction of the ellipsoide |U| is the length in the U direction (Vx,Vy,Vz) is the second direction of the ellipsoide |V| is the length in the V direction H is the height of the ellipsoide U & V are orthogonalized

Implements EXPR_ElementaryGeometryNode.

◆ setCenter() [1/2]

void EXPR_Cylinder::setCenter ( const std::array< tReal, 3 > &  X)
inline

set the center of the botton ellipsoide

Parameters
[in]Xcenter in each coordinate

◆ setCenter() [2/2]

void EXPR_Cylinder::setCenter ( std::initializer_list< tReal > &&  X)
inline

set the center

Parameters
[in]Xcenter in each coordinate

◆ setLength()

void EXPR_Cylinder::setLength ( const tReal &  L)
inline

set the length of the cylinder

Parameters
Llength

◆ setMainDirection() [1/2]

void EXPR_Cylinder::setMainDirection ( const std::array< tReal, 3 > &  U)
inline

set the main direction

Parameters
[in]U: direction

◆ setMainDirection() [2/2]

void EXPR_Cylinder::setMainDirection ( std::initializer_list< tReal > &&  U)
inline

set the main direction

Parameters
xdirection in each coordinate

◆ setMainRadius()

void EXPR_Cylinder::setMainRadius ( const tReal &  L)
inline

set the half-length along main direction

Parameters
Llength

◆ setSecondDirection() [1/2]

void EXPR_Cylinder::setSecondDirection ( const std::array< tReal, 3 > &  U)
inline

set the second direction

Parameters
[in]U: direction

◆ setSecondDirection() [2/2]

void EXPR_Cylinder::setSecondDirection ( std::initializer_list< tReal > &&  U)
inline

set the second direction

Parameters
[in]Udirection in each coordinate

◆ setSecondRadius()

void EXPR_Cylinder::setSecondRadius ( const tReal &  L)
inline

set the half-length along secund direction

Parameters
[in]Llength

◆ toString()

tString EXPR_Cylinder::toString ( ) const
finalvirtual

return the string representation of this

Returns
the string representation of this

Reimplemented from EXPR_ElementaryGeometryNode.


The documentation for this class was generated from the following files: