Inheritence diagram for xlifepp::RevTrunk:
digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"4" [label="xlifepp::Geometry" tooltip="xlifepp::Geometry"]
"5" [label="xlifepp::RevCone" tooltip="xlifepp::RevCone"]
"6" [label="xlifepp::RevCylinder" tooltip="xlifepp::RevCylinder"]
"1" [label="xlifepp::RevTrunk" tooltip="xlifepp::RevTrunk" fillcolor="#BFBFBF"]
"2" [label="xlifepp::Trunk" tooltip="xlifepp::Trunk"]
"3" [label="xlifepp::Volume" tooltip="xlifepp::Volume"]
"5" -> "1" [dir=forward tooltip="public-inheritance"]
"6" -> "1" [dir=forward tooltip="public-inheritance"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"2" -> "3" [dir=forward tooltip="public-inheritance"]
"3" -> "4" [dir=forward tooltip="public-inheritance"]
}
Collaboration diagram for xlifepp::RevTrunk:
digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"23" [label="xlifepp::Collection< string_t >" tooltip="xlifepp::Collection< string_t >"]
"16" [label="xlifepp::Matrix< real_t >" tooltip="xlifepp::Matrix< real_t >"]
"20" [label="xlifepp::Vector< real_t >" tooltip="xlifepp::Vector< real_t >"]
"31" [label="xlifepp::Vector< xlifepp::Vector< real_t > >" tooltip="xlifepp::Vector< xlifepp::Vector< real_t > >"]
"40" [label="std::list< std::pair< number_t, real_t > >" tooltip="std::list< std::pair< number_t, real_t > >"]
"12" [label="std::map< number_t, std::vector< number_t > >" tooltip="std::map< number_t, std::vector< number_t > >"]
"10" [label="std::map< number_t, xlifepp::Geometry * >" tooltip="std::map< number_t, xlifepp::Geometry * >"]
"39" [label="std::map< string_t, number_t >" tooltip="std::map< string_t, number_t >"]
"41" [label="std::list< T >" tooltip="std::list< T >"]
"11" [label="std::map< K, T >" tooltip="std::map< K, T >"]
"7" [label="std::vector< T >" tooltip="std::vector< T >"]
"26" [label="std::vector< T >" tooltip="std::vector< T >"]
"19" [label="std::vector< K >" tooltip="std::vector< K >"]
"6" [label="std::vector< RealPair >" tooltip="std::vector< RealPair >"]
"22" [label="std::vector< const xlifepp::Transformation * >" tooltip="std::vector< const xlifepp::Transformation * >"]
"27" [label="std::vector< number_t >" tooltip="std::vector< number_t >"]
"17" [label="std::vector< real_t >" tooltip="std::vector< real_t >"]
"36" [label="std::vector< std::vector< GeoNumPair > >" tooltip="std::vector< std::vector< GeoNumPair > >"]
"13" [label="std::vector< std::vector< int_t > >" tooltip="std::vector< std::vector< int_t > >"]
"24" [label="std::vector< string_t >" tooltip="std::vector< string_t >"]
"35" [label="std::vector< xlifepp::GeomDomain * >" tooltip="std::vector< xlifepp::GeomDomain * >"]
"34" [label="std::vector< xlifepp::GeomElement * >" tooltip="std::vector< xlifepp::GeomElement * >"]
"38" [label="std::vector< xlifepp::Parameter * >" tooltip="std::vector< xlifepp::Parameter * >"]
"9" [label="std::vector< xlifepp::Point >" tooltip="std::vector< xlifepp::Point >"]
"28" [label="std::vector< xlifepp::Transformation * >" tooltip="std::vector< xlifepp::Transformation * >"]
"32" [label="std::vector< xlifepp::Vector< real_t > >" tooltip="std::vector< xlifepp::Vector< real_t > >"]
"5" [label="xlifepp::BoundingBox" tooltip="xlifepp::BoundingBox"]
"25" [label="xlifepp::Collection< T >" tooltip="xlifepp::Collection< T >"]
"14" [label="xlifepp::ExtrusionData" tooltip="xlifepp::ExtrusionData"]
"42" [label="xlifepp::GeoNode" tooltip="xlifepp::GeoNode"]
"4" [label="xlifepp::Geometry" tooltip="xlifepp::Geometry"]
"18" [label="xlifepp::Matrix< K >" tooltip="xlifepp::Matrix< K >"]
"33" [label="xlifepp::Mesh" tooltip="xlifepp::Mesh"]
"8" [label="xlifepp::MinimalBox" tooltip="xlifepp::MinimalBox"]
"37" [label="xlifepp::Parameters" tooltip="xlifepp::Parameters"]
"30" [label="xlifepp::Parametrization" tooltip="xlifepp::Parametrization"]
"29" [label="xlifepp::Point" tooltip="xlifepp::Point"]
"1" [label="xlifepp::RevTrunk" tooltip="xlifepp::RevTrunk" fillcolor="#BFBFBF"]
"43" [label="xlifepp::Surface" tooltip="xlifepp::Surface"]
"15" [label="xlifepp::Transformation" tooltip="xlifepp::Transformation"]
"2" [label="xlifepp::Trunk" tooltip="xlifepp::Trunk"]
"21" [label="xlifepp::Vector< K >" tooltip="xlifepp::Vector< K >"]
"3" [label="xlifepp::Volume" tooltip="xlifepp::Volume"]
"23" -> "24" [dir=forward tooltip="public-inheritance"]
"23" -> "25" [dir=forward tooltip="template-instance"]
"16" -> "17" [dir=forward tooltip="public-inheritance"]
"16" -> "18" [dir=forward tooltip="template-instance"]
"20" -> "17" [dir=forward tooltip="public-inheritance"]
"20" -> "21" [dir=forward tooltip="template-instance"]
"31" -> "32" [dir=forward tooltip="public-inheritance"]
"31" -> "21" [dir=forward tooltip="template-instance"]
"40" -> "41" [dir=forward tooltip="template-instance"]
"12" -> "11" [dir=forward tooltip="template-instance"]
"10" -> "11" [dir=forward tooltip="template-instance"]
"39" -> "11" [dir=forward tooltip="template-instance"]
"19" -> "7" [dir=forward tooltip="template-instance"]
"6" -> "7" [dir=forward tooltip="template-instance"]
"22" -> "7" [dir=forward tooltip="template-instance"]
"27" -> "7" [dir=forward tooltip="template-instance"]
"17" -> "7" [dir=forward tooltip="template-instance"]
"36" -> "7" [dir=forward tooltip="template-instance"]
"13" -> "7" [dir=forward tooltip="template-instance"]
"24" -> "7" [dir=forward tooltip="template-instance"]
"35" -> "7" [dir=forward tooltip="template-instance"]
"34" -> "7" [dir=forward tooltip="template-instance"]
"38" -> "7" [dir=forward tooltip="template-instance"]
"9" -> "7" [dir=forward tooltip="template-instance"]
"28" -> "7" [dir=forward tooltip="template-instance"]
"32" -> "7" [dir=forward tooltip="template-instance"]
"5" -> "6" [dir=forward tooltip="usage"]
"25" -> "26" [dir=forward tooltip="public-inheritance"]
"14" -> "15" [dir=forward tooltip="usage"]
"14" -> "23" [dir=forward tooltip="usage"]
"14" -> "27" [dir=forward tooltip="usage"]
"14" -> "17" [dir=forward tooltip="usage"]
"14" -> "20" [dir=forward tooltip="usage"]
"14" -> "28" [dir=forward tooltip="usage"]
"14" -> "29" [dir=forward tooltip="usage"]
"42" -> "42" [dir=forward tooltip="usage"]
"42" -> "4" [dir=forward tooltip="usage"]
"4" -> "5" [dir=forward tooltip="usage"]
"4" -> "8" [dir=forward tooltip="usage"]
"4" -> "10" [dir=forward tooltip="usage"]
"4" -> "12" [dir=forward tooltip="usage"]
"4" -> "13" [dir=forward tooltip="usage"]
"4" -> "14" [dir=forward tooltip="usage"]
"4" -> "30" [dir=forward tooltip="usage"]
"4" -> "4" [dir=forward tooltip="usage"]
"4" -> "42" [dir=forward tooltip="usage"]
"18" -> "19" [dir=forward tooltip="public-inheritance"]
"33" -> "4" [dir=forward tooltip="usage"]
"33" -> "9" [dir=forward tooltip="usage"]
"33" -> "34" [dir=forward tooltip="usage"]
"33" -> "35" [dir=forward tooltip="usage"]
"33" -> "27" [dir=forward tooltip="usage"]
"33" -> "36" [dir=forward tooltip="usage"]
"33" -> "33" [dir=forward tooltip="usage"]
"8" -> "9" [dir=forward tooltip="usage"]
"37" -> "38" [dir=forward tooltip="usage"]
"37" -> "39" [dir=forward tooltip="usage"]
"30" -> "4" [dir=forward tooltip="usage"]
"30" -> "20" [dir=forward tooltip="usage"]
"30" -> "31" [dir=forward tooltip="usage"]
"30" -> "33" [dir=forward tooltip="usage"]
"30" -> "37" [dir=forward tooltip="usage"]
"30" -> "40" [dir=forward tooltip="usage"]
"29" -> "17" [dir=forward tooltip="public-inheritance"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"43" -> "4" [dir=forward tooltip="public-inheritance"]
"43" -> "9" [dir=forward tooltip="usage"]
"43" -> "17" [dir=forward tooltip="usage"]
"43" -> "27" [dir=forward tooltip="usage"]
"15" -> "16" [dir=forward tooltip="usage"]
"15" -> "20" [dir=forward tooltip="usage"]
"15" -> "22" [dir=forward tooltip="usage"]
"2" -> "3" [dir=forward tooltip="public-inheritance"]
"2" -> "43" [dir=forward tooltip="usage"]
"2" -> "29" [dir=forward tooltip="usage"]
"21" -> "19" [dir=forward tooltip="public-inheritance"]
"3" -> "4" [dir=forward tooltip="public-inheritance"]
"3" -> "9" [dir=forward tooltip="usage"]
"3" -> "27" [dir=forward tooltip="usage"]
"3" -> "17" [dir=forward tooltip="usage"]
}
A object of revolution is defined by its axis (P1,P2) and the radii of two circles obtained by intersection with a plane orthogonal to (P1,P2).
The object is delimited by the two planes, orthogonal to (P1,P2), passing by P1 and P2, and this is the default end shape of the object when it is meshed with volumic elements (gesFlat or equivalently in this case, gesNone). When the elements are surfacic, the default is to leave the ends empty (gesNone).
Moreover, on both ends of this object, one can add part of a cone (gesCone), an ellipsoid (gesEllipsoid) or a sphere (gesSphere), connected to the boundary circle of the object. Let us consider the boundary circle whose center is P1. The apex of the cone or the ellipsoid is assumed to lie on the line (P1,P2) at a given distance distance1_ from P1. This distance is irrelevant in the case of the sphere. The same apply on the other end of the object. When the elements are surfacic, one can additonnaly chose a flat “lid” (gesFlat) ; the distance argument is then also irrelevant in this case.
RevTrunk constructors are based on a key-value system. Here are the available keys:
_center1, _center2: to define centers of bases when they are elliptical
_radius1, _radius2: the radii of the bases
_end1_shape, _end2_shape: the shape of extension parts on both ends of the RevTrunk
_end1_distance, _end2_distance: the lengths of extension parts on both ends of the RevTrunk
_nbsubdomains: the number of slices of the RevTrunk (subdivision mesg generator only)
_type: indicator to fit curved boundaries (default) or not which gives flat (or plane) boundaries
_nnodes: to define the number of nodes on the edges of the RevTrunk
_hsteps: to define the local mesh steps on build points of the RevTrunk
_domain_name: to define the domain name
_side_names: to define the side names
_varnames: to define the variable names for print purpose
Subclassed by xlifepp::RevCone , xlifepp::RevCylinder
Public Functions
RevTrunk ( const RevTrunk & r )
copy constructor
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 )
constructor with 4 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 )
constructor with 5 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 )
constructor with 6 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 )
constructor with 7 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 , Parameter p8 )
constructor with 8 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 , Parameter p8 , Parameter p9 )
constructor with 9 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 , Parameter p8 , Parameter p9 , Parameter p10 )
constructor with 10 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 , Parameter p8 , Parameter p9 , Parameter p10 , Parameter p11 )
constructor with 11 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 , Parameter p8 , Parameter p9 , Parameter p10 , Parameter p11 , Parameter p12 )
constructor with 12 Parameter
RevTrunk ( Parameter p1 , Parameter p2 , Parameter p3 , Parameter p4 , Parameter p5 , Parameter p6 , Parameter p7 , Parameter p8 , Parameter p9 , Parameter p10 , Parameter p11 , Parameter p12 , Parameter p13 )
constructor with 13 Parameter
RevTrunk ( real_t scale = 1. , bool defineBasisAndP = true )
default constructor
virtual string_t asString ( ) const
format as string: “RevTrunk (P1=(.,.,.), P2=(.,.,.), radius=R, end1=., end2=., d1=., d2=.)”
Format RevTrunk as string: “RevTrunk(C1=(.,.,.), C2=(.,.,.), radius1=R1, radius2=R2, end1=., end2=., d1=., d2=.)”.
virtual std :: vector < const Point * > boundNodes ( ) const
returns list of points on boundary (const)
inline virtual Geometry * clone ( ) const
virtual copy constructor
virtual std :: vector < std :: pair < ShapeType , std :: vector < const Point * > > > curves ( ) const
returns list of curves (const)
inline real_t distance1 ( ) const
returns height of first end
inline real_t distance2 ( ) const
returns height of second end
inline GeometricEndShape endShape1 ( ) const
returns shape of first end
inline GeometricEndShape endShape2 ( ) const
returns shape of second end
inline virtual RevTrunk & homothetize ( const Parameter & p1 )
apply a homothety on a RevTrunk (1 key)
inline virtual RevTrunk & homothetize ( const Parameter & p1 , const Parameter & p2 )
apply a homothety on a RevTrunk (2 keys)
inline virtual RevTrunk & homothetize ( const Point & c = Point ( 0. , 0. , 0. ) , real_t factor = 1. )
apply a homothety on a RevTrunk
inline virtual RevTrunk & homothetize ( real_t factor )
apply a homothety on a RevTrunk
virtual number_t nbSubdiv ( ) const
returns number of subdivisions
inline virtual number_t nbSubdomains ( ) const
returns number of elements on lateral edges
inline virtual RevTrunk & pointReflect ( const Parameter & p1 )
apply a point reflection on a RevTrunk (1 key)
inline virtual RevTrunk & pointReflect ( const Point & c = Point ( 0. , 0. , 0. ) )
apply a point reflection on a RevTrunk
inline real_t radius1 ( ) const
returns radius of first basis
inline real_t radius2 ( ) const
returns radius of second basis
inline virtual RevTrunk & reflect2d ( const Parameter & p1 )
apply a reflection2d on a RevTrunk (1 key)
inline virtual RevTrunk & reflect2d ( const Parameter & p1 , const Parameter & p2 )
apply a reflection2d on a RevTrunk (2 keys)
inline virtual RevTrunk & reflect2d ( const Point & c , real_t dx , real_t dy = 0. )
apply a reflection2d on a RevTrunk
inline virtual RevTrunk & reflect2d ( const Point & c = Point ( 0. , 0. ) , std :: vector < real_t > d = std :: vector < real_t > ( 2 , 0. ) )
apply a reflection2d on a RevTrunk
inline virtual RevTrunk & reflect3d ( const Parameter & p1 )
apply a reflection3d on a RevTrunk (1 key)
inline virtual RevTrunk & reflect3d ( const Parameter & p1 , const Parameter & p2 )
apply a reflection3d on a RevTrunk (2 keys)
inline virtual RevTrunk & reflect3d ( const Point & c , real_t nx , real_t ny , real_t nz = 0. )
apply a reflection3d on a RevTrunk
inline virtual RevTrunk & reflect3d ( const Point & c = Point ( 0. , 0. , 0. ) , std :: vector < real_t > n = std :: vector < real_t > ( 3 , 0. ) )
apply a reflection3d on a RevTrunk
inline virtual RevTrunk * revTrunk ( )
access to child RevTrunk object
inline virtual const RevTrunk * revTrunk ( ) const
access to child RevTrunk object (const)
inline virtual RevTrunk & rotate2d ( const Parameter & p1 )
apply a rotation 2D on a RevTrunk (1 key)
inline virtual RevTrunk & rotate2d ( const Parameter & p1 , const Parameter & p2 )
apply a rotation 2D on a RevTrunk (2 keys)
inline virtual RevTrunk & rotate2d ( const Point & c , real_t angle = 0. )
apply a rotation 2D on a RevTrunk
inline virtual RevTrunk & rotate3d ( const Parameter & p1 )
apply a rotation 3D on a RevTrunk (1 key)
inline virtual RevTrunk & rotate3d ( const Parameter & p1 , const Parameter & p2 )
apply a rotation 3D on a RevTrunk (2 keys)
inline virtual RevTrunk & rotate3d ( const Parameter & p1 , const Parameter & p2 , const Parameter & p3 )
apply a rotation 3D on a RevTrunk (3 keys)
inline virtual RevTrunk & rotate3d ( const Point & c , real_t dx , real_t dy , real_t angle )
apply a rotation on a RevTrunk
inline virtual RevTrunk & rotate3d ( const Point & c , real_t dx , real_t dy , real_t dz , real_t angle )
apply a rotation on a RevTrunk
inline virtual RevTrunk & rotate3d ( const Point & c , std :: vector < real_t > d = std :: vector < real_t > ( 3 , 0. ) , real_t angle = 0. )
apply a rotation 3D on a RevTrunk
inline virtual RevTrunk & rotate3d ( real_t dx , real_t dy , real_t angle )
apply a rotation 3D on a RevTrunk
inline virtual RevTrunk & rotate3d ( real_t dx , real_t dy , real_t dz , real_t angle )
apply a rotation 3D on a RevTrunk
virtual std :: vector < std :: pair < ShapeType , std :: vector < const Point * > > > surfs ( ) const
returns list of faces (const)
virtual RevTrunk & transform ( const Transformation & t )
apply a geometrical transformation on a RevTrunk
inline virtual RevTrunk & translate ( const Parameter & p1 )
apply a translation on a RevTrunk (1 key)
inline virtual RevTrunk & translate ( real_t ux , real_t uy = 0. , real_t uz = 0. )
apply a translation on a RevTrunk (3 reals version)
inline virtual RevTrunk & translate ( std :: vector < real_t > u )
apply a translation on a RevTrunk (vector version)
inline virtual dimen_t type ( ) const
returns type of subdivision