Class xlifepp::RevCone#

class RevCone : public xlifepp::RevTrunk#

Inheritence diagram for xlifepp::RevCone:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "5" [label="xlifepp::Geometry" tooltip="xlifepp::Geometry"] "1" [label="xlifepp::RevCone" tooltip="xlifepp::RevCone" fillcolor="#BFBFBF"] "2" [label="xlifepp::RevTrunk" tooltip="xlifepp::RevTrunk"] "3" [label="xlifepp::Trunk" tooltip="xlifepp::Trunk"] "4" [label="xlifepp::Volume" tooltip="xlifepp::Volume"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "4" -> "5" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::RevCone:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "24" [label="xlifepp::Collection< string_t >" tooltip="xlifepp::Collection< string_t >"] "17" [label="xlifepp::Matrix< real_t >" tooltip="xlifepp::Matrix< real_t >"] "21" [label="xlifepp::Vector< real_t >" tooltip="xlifepp::Vector< real_t >"] "32" [label="xlifepp::Vector< xlifepp::Vector< real_t > >" tooltip="xlifepp::Vector< xlifepp::Vector< real_t > >"] "41" [label="std::list< std::pair< number_t, real_t > >" tooltip="std::list< std::pair< number_t, real_t > >"] "13" [label="std::map< number_t, std::vector< number_t > >" tooltip="std::map< number_t, std::vector< number_t > >"] "11" [label="std::map< number_t, xlifepp::Geometry * >" tooltip="std::map< number_t, xlifepp::Geometry * >"] "40" [label="std::map< string_t, number_t >" tooltip="std::map< string_t, number_t >"] "42" [label="std::list< T >" tooltip="std::list< T >"] "12" [label="std::map< K, T >" tooltip="std::map< K, T >"] "8" [label="std::vector< T >" tooltip="std::vector< T >"] "27" [label="std::vector< T >" tooltip="std::vector< T >"] "20" [label="std::vector< K >" tooltip="std::vector< K >"] "7" [label="std::vector< RealPair >" tooltip="std::vector< RealPair >"] "23" [label="std::vector< const xlifepp::Transformation * >" tooltip="std::vector< const xlifepp::Transformation * >"] "28" [label="std::vector< number_t >" tooltip="std::vector< number_t >"] "18" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "37" [label="std::vector< std::vector< GeoNumPair > >" tooltip="std::vector< std::vector< GeoNumPair > >"] "14" [label="std::vector< std::vector< int_t > >" tooltip="std::vector< std::vector< int_t > >"] "25" [label="std::vector< string_t >" tooltip="std::vector< string_t >"] "36" [label="std::vector< xlifepp::GeomDomain * >" tooltip="std::vector< xlifepp::GeomDomain * >"] "35" [label="std::vector< xlifepp::GeomElement * >" tooltip="std::vector< xlifepp::GeomElement * >"] "39" [label="std::vector< xlifepp::Parameter * >" tooltip="std::vector< xlifepp::Parameter * >"] "10" [label="std::vector< xlifepp::Point >" tooltip="std::vector< xlifepp::Point >"] "29" [label="std::vector< xlifepp::Transformation * >" tooltip="std::vector< xlifepp::Transformation * >"] "33" [label="std::vector< xlifepp::Vector< real_t > >" tooltip="std::vector< xlifepp::Vector< real_t > >"] "6" [label="xlifepp::BoundingBox" tooltip="xlifepp::BoundingBox"] "26" [label="xlifepp::Collection< T >" tooltip="xlifepp::Collection< T >"] "15" [label="xlifepp::ExtrusionData" tooltip="xlifepp::ExtrusionData"] "43" [label="xlifepp::GeoNode" tooltip="xlifepp::GeoNode"] "5" [label="xlifepp::Geometry" tooltip="xlifepp::Geometry"] "19" [label="xlifepp::Matrix< K >" tooltip="xlifepp::Matrix< K >"] "34" [label="xlifepp::Mesh" tooltip="xlifepp::Mesh"] "9" [label="xlifepp::MinimalBox" tooltip="xlifepp::MinimalBox"] "38" [label="xlifepp::Parameters" tooltip="xlifepp::Parameters"] "31" [label="xlifepp::Parametrization" tooltip="xlifepp::Parametrization"] "30" [label="xlifepp::Point" tooltip="xlifepp::Point"] "1" [label="xlifepp::RevCone" tooltip="xlifepp::RevCone" fillcolor="#BFBFBF"] "2" [label="xlifepp::RevTrunk" tooltip="xlifepp::RevTrunk"] "44" [label="xlifepp::Surface" tooltip="xlifepp::Surface"] "16" [label="xlifepp::Transformation" tooltip="xlifepp::Transformation"] "3" [label="xlifepp::Trunk" tooltip="xlifepp::Trunk"] "22" [label="xlifepp::Vector< K >" tooltip="xlifepp::Vector< K >"] "4" [label="xlifepp::Volume" tooltip="xlifepp::Volume"] "24" -> "25" [dir=forward tooltip="public-inheritance"] "24" -> "26" [dir=forward tooltip="template-instance"] "17" -> "18" [dir=forward tooltip="public-inheritance"] "17" -> "19" [dir=forward tooltip="template-instance"] "21" -> "18" [dir=forward tooltip="public-inheritance"] "21" -> "22" [dir=forward tooltip="template-instance"] "32" -> "33" [dir=forward tooltip="public-inheritance"] "32" -> "22" [dir=forward tooltip="template-instance"] "41" -> "42" [dir=forward tooltip="template-instance"] "13" -> "12" [dir=forward tooltip="template-instance"] "11" -> "12" [dir=forward tooltip="template-instance"] "40" -> "12" [dir=forward tooltip="template-instance"] "20" -> "8" [dir=forward tooltip="template-instance"] "7" -> "8" [dir=forward tooltip="template-instance"] "23" -> "8" [dir=forward tooltip="template-instance"] "28" -> "8" [dir=forward tooltip="template-instance"] "18" -> "8" [dir=forward tooltip="template-instance"] "37" -> "8" [dir=forward tooltip="template-instance"] "14" -> "8" [dir=forward tooltip="template-instance"] "25" -> "8" [dir=forward tooltip="template-instance"] "36" -> "8" [dir=forward tooltip="template-instance"] "35" -> "8" [dir=forward tooltip="template-instance"] "39" -> "8" [dir=forward tooltip="template-instance"] "10" -> "8" [dir=forward tooltip="template-instance"] "29" -> "8" [dir=forward tooltip="template-instance"] "33" -> "8" [dir=forward tooltip="template-instance"] "6" -> "7" [dir=forward tooltip="usage"] "26" -> "27" [dir=forward tooltip="public-inheritance"] "15" -> "16" [dir=forward tooltip="usage"] "15" -> "24" [dir=forward tooltip="usage"] "15" -> "28" [dir=forward tooltip="usage"] "15" -> "18" [dir=forward tooltip="usage"] "15" -> "21" [dir=forward tooltip="usage"] "15" -> "29" [dir=forward tooltip="usage"] "15" -> "30" [dir=forward tooltip="usage"] "43" -> "43" [dir=forward tooltip="usage"] "43" -> "5" [dir=forward tooltip="usage"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "9" [dir=forward tooltip="usage"] "5" -> "11" [dir=forward tooltip="usage"] "5" -> "13" [dir=forward tooltip="usage"] "5" -> "14" [dir=forward tooltip="usage"] "5" -> "15" [dir=forward tooltip="usage"] "5" -> "31" [dir=forward tooltip="usage"] "5" -> "5" [dir=forward tooltip="usage"] "5" -> "43" [dir=forward tooltip="usage"] "19" -> "20" [dir=forward tooltip="public-inheritance"] "34" -> "5" [dir=forward tooltip="usage"] "34" -> "10" [dir=forward tooltip="usage"] "34" -> "35" [dir=forward tooltip="usage"] "34" -> "36" [dir=forward tooltip="usage"] "34" -> "28" [dir=forward tooltip="usage"] "34" -> "37" [dir=forward tooltip="usage"] "34" -> "34" [dir=forward tooltip="usage"] "9" -> "10" [dir=forward tooltip="usage"] "38" -> "39" [dir=forward tooltip="usage"] "38" -> "40" [dir=forward tooltip="usage"] "31" -> "5" [dir=forward tooltip="usage"] "31" -> "21" [dir=forward tooltip="usage"] "31" -> "32" [dir=forward tooltip="usage"] "31" -> "34" [dir=forward tooltip="usage"] "31" -> "38" [dir=forward tooltip="usage"] "31" -> "41" [dir=forward tooltip="usage"] "30" -> "18" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "44" -> "5" [dir=forward tooltip="public-inheritance"] "44" -> "10" [dir=forward tooltip="usage"] "44" -> "18" [dir=forward tooltip="usage"] "44" -> "28" [dir=forward tooltip="usage"] "16" -> "17" [dir=forward tooltip="usage"] "16" -> "21" [dir=forward tooltip="usage"] "16" -> "23" [dir=forward tooltip="usage"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "44" [dir=forward tooltip="usage"] "3" -> "30" [dir=forward tooltip="usage"] "22" -> "20" [dir=forward tooltip="public-inheritance"] "4" -> "5" [dir=forward tooltip="public-inheritance"] "4" -> "10" [dir=forward tooltip="usage"] "4" -> "28" [dir=forward tooltip="usage"] "4" -> "18" [dir=forward tooltip="usage"] }

A truncated cone of revolution is defined by its axis (P1,P2) and two radii R1 and R2.

R1 (resp. R2) is the radius of the circle lying in the plane orthogonal to (P1,P2) passing by P1 (resp. P2). R1 (or R2) can be 0, in which case we get a cone of revolution. See more details at RevTrunk.

RevCone constructors are based on a key-value system. Here are the available keys:

  • _center: to define the center of the basis

  • _apex: the apex of the RevCone

  • _radius: the radius of the basis

  • _end_shape: the shape of extension part on the end of the RevCone

  • _end_distance: the length of extension part on the end of the RevCone

  • _nbsubdomains: the number of slices of the RevCone (subdivision mesh 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 RevCone

  • _hsteps: to define the local mesh steps on build points of the RevCone

  • _domain_name: to define the domain name

  • _side_names: to define the side names

  • _varnames: to define the variable names for print purpose

Public Functions

RevCone()#

default constructor

RevCone(Parameter p1, Parameter p2, Parameter p3)#

constructor with 3 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4)#

constructor with 4 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4, Parameter p5)#

constructor with 5 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4, Parameter p5, Parameter p6)#

constructor with 6 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4, Parameter p5, Parameter p6, Parameter p7)#

constructor with 7 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4, Parameter p5, Parameter p6, Parameter p7, Parameter p8)#

constructor with 8 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4, Parameter p5, Parameter p6, Parameter p7, Parameter p8, Parameter p9)#

constructor with 9 Parameter

RevCone(Parameter p1, Parameter p2, Parameter p3, Parameter p4, Parameter p5, Parameter p6, Parameter p7, Parameter p8, Parameter p9, Parameter p10)#

constructor with 10 Parameter

inline Point apex() const#

accessor to apex_

virtual string_t asString() const#

format as string

format as string: “RevCone (C1=(.,.,.), C2=(.,.,.), radius1=R1, radius2=R2)”

inline virtual Geometry *clone() const#

virtual copy constructor

inline virtual void computeMB()#

compute the minimal box for a composite/loop geometry

compute the minimal box

inline virtual RevCone &homothetize(const Parameter &p1)#

apply a homothety on a RevCone (1 key)

inline virtual RevCone &homothetize(const Parameter &p1, const Parameter &p2)#

apply a homothety on a RevCone (2 keys)

inline virtual RevCone &homothetize(const Point &c = Point(0., 0., 0.), real_t factor = 1.)#

apply a homothety on a RevCone

inline virtual RevCone &homothetize(real_t factor)#

apply a homothety on a RevCone

inline virtual RevCone &pointReflect(const Parameter &p1)#

apply a point reflection on a RevCone (1 key)

inline virtual RevCone &pointReflect(const Point &c = Point(0., 0., 0.))#

apply a point reflection on a RevCone

inline virtual RevCone &reflect2d(const Parameter &p1)#

apply a reflection2d on a RevCone (1 key)

inline virtual RevCone &reflect2d(const Parameter &p1, const Parameter &p2)#

apply a reflection2d on a RevCone (2 keys)

inline virtual RevCone &reflect2d(const Point &c, real_t dx, real_t dy = 0.)#

apply a reflection2d on a RevCone

inline virtual RevCone &reflect2d(const Point &c = Point(0., 0.), std::vector<real_t> d = std::vector<real_t>(2, 0.))#

apply a reflection2d on a RevCone

inline virtual RevCone &reflect3d(const Parameter &p1)#

apply a reflection3d on a RevCone (1 key)

inline virtual RevCone &reflect3d(const Parameter &p1, const Parameter &p2)#

apply a reflection3d on a RevCone (2 keys)

inline virtual RevCone &reflect3d(const Point &c, real_t nx, real_t ny, real_t nz = 0.)#

apply a reflection3d on a RevCone

inline virtual RevCone &reflect3d(const Point &c = Point(0., 0., 0.), std::vector<real_t> n = std::vector<real_t>(3, 0.))#

apply a reflection3d on a RevCone

inline virtual RevCone *revCone()#

access to child RevCone object

inline virtual const RevCone *revCone() const#

access to child RevCone object (const)

inline virtual RevCone &rotate2d(const Parameter &p1)#

apply a rotation 2D on a RevCone (1 key)

inline virtual RevCone &rotate2d(const Parameter &p1, const Parameter &p2)#

apply a rotation 2D on a RevCone (2 keys)

inline virtual RevCone &rotate2d(const Point &c, real_t angle = 0.)#

apply a rotation 2D on a RevCone

inline virtual RevCone &rotate3d(const Parameter &p1)#

apply a rotation 3D on a RevCone (1 key)

inline virtual RevCone &rotate3d(const Parameter &p1, const Parameter &p2)#

apply a rotation 3D on a RevCone (2 keys)

inline virtual RevCone &rotate3d(const Parameter &p1, const Parameter &p2, const Parameter &p3)#

apply a rotation 3D on a RevCone (3 keys)

inline virtual RevCone &rotate3d(const Point &c, real_t dx, real_t dy, real_t angle)#

apply a rotation on a RevCone

inline virtual RevCone &rotate3d(const Point &c, real_t dx, real_t dy, real_t dz, real_t angle)#

apply a rotation on a RevCone

inline virtual RevCone &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 RevCone

inline virtual RevCone &rotate3d(real_t dx, real_t dy, real_t angle)#

apply a rotation 3D on a RevCone

inline virtual RevCone &rotate3d(real_t dx, real_t dy, real_t dz, real_t angle)#

apply a rotation 3D on a RevCone

virtual RevCone &transform(const Transformation &t)#

apply a geometrical transformation on a RevCone

inline virtual RevCone &translate(const Parameter &p1)#

apply a translation on a RevCone (1 key)

inline virtual RevCone &translate(real_t ux, real_t uy = 0., real_t uz = 0.)#

apply a translation on a RevCone (3 reals version)

inline virtual RevCone &translate(std::vector<real_t> u)#

apply a translation on a RevCone (vector version)