Class xlifepp::subdivision::SurfMeshTriCone#

class SurfMeshTriCone : public xlifepp::subdivision::TriangleMesh#

Inheritence diagram for xlifepp::subdivision::SurfMeshTriCone:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "4" [label="xlifepp::subdivision::GeomFigureMesh< Triangle >" tooltip="xlifepp::subdivision::GeomFigureMesh< Triangle >"] "3" [label="xlifepp::subdivision::SimplexMesh< Triangle >" tooltip="xlifepp::subdivision::SimplexMesh< Triangle >"] "6" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "8" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "7" [label="xlifepp::subdivision::SimplexMesh< T_ >" tooltip="xlifepp::subdivision::SimplexMesh< T_ >"] "5" [label="xlifepp::subdivision::SubdivisionMesh" tooltip="xlifepp::subdivision::SubdivisionMesh"] "1" [label="xlifepp::subdivision::SurfMeshTriCone" tooltip="xlifepp::subdivision::SurfMeshTriCone" fillcolor="#BFBFBF"] "2" [label="xlifepp::subdivision::TriangleMesh" tooltip="xlifepp::subdivision::TriangleMesh"] "4" -> "5" [dir=forward tooltip="public-inheritance"] "4" -> "6" [dir=forward tooltip="template-instance"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "7" [dir=forward tooltip="template-instance"] "6" -> "5" [dir=forward tooltip="public-inheritance"] "8" -> "5" [dir=forward tooltip="public-inheritance"] "7" -> "8" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::subdivision::SurfMeshTriCone:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "4" [label="xlifepp::subdivision::GeomFigureMesh< Triangle >" tooltip="xlifepp::subdivision::GeomFigureMesh< Triangle >"] "3" [label="xlifepp::subdivision::SimplexMesh< Triangle >" tooltip="xlifepp::subdivision::SimplexMesh< Triangle >"] "7" [label="std::basic_string< char >" tooltip="std::basic_string< char >"] "8" [label="std::basic_string< Char >" tooltip="std::basic_string< Char >"] "6" [label="std::string" tooltip="std::string"] "11" [label="std::vector< T >" tooltip="std::vector< T >"] "22" [label="std::vector< T_ >" tooltip="std::vector< T_ >"] "20" [label="std::vector< Triangle >" tooltip="std::vector< Triangle >"] "14" [label="std::vector< number_t >" tooltip="std::vector< number_t >"] "19" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "12" [label="std::vector< refnum_t >" tooltip="std::vector< refnum_t >"] "16" [label="std::vector< std::pair< xlifepp::subdivision::PatchGeometry *, refnum_t > >" tooltip="std::vector< std::pair< xlifepp::subdivision::PatchGeometry *, refnum_t > >"] "13" [label="std::vector< std::string >" tooltip="std::vector< std::string >"] "10" [label="std::vector< std::vector< number_t > >" tooltip="std::vector< std::vector< number_t > >"] "15" [label="std::vector< xlifepp::subdivision::PatchGeometry * >" tooltip="std::vector< xlifepp::subdivision::PatchGeometry * >"] "17" [label="std::vector< xlifepp::subdivision::Vertex >" tooltip="std::vector< xlifepp::subdivision::Vertex >"] "18" [label="xlifepp::Point" tooltip="xlifepp::Point"] "21" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "24" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "23" [label="xlifepp::subdivision::SimplexMesh< T_ >" tooltip="xlifepp::subdivision::SimplexMesh< T_ >"] "5" [label="xlifepp::subdivision::SubdivisionMesh" tooltip="xlifepp::subdivision::SubdivisionMesh"] "1" [label="xlifepp::subdivision::SurfMeshTriCone" tooltip="xlifepp::subdivision::SurfMeshTriCone" fillcolor="#BFBFBF"] "9" [label="xlifepp::subdivision::TopoGeom" tooltip="xlifepp::subdivision::TopoGeom"] "2" [label="xlifepp::subdivision::TriangleMesh" tooltip="xlifepp::subdivision::TriangleMesh"] "4" -> "5" [dir=forward tooltip="public-inheritance"] "4" -> "20" [dir=forward tooltip="usage"] "4" -> "21" [dir=forward tooltip="template-instance"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "23" [dir=forward tooltip="template-instance"] "7" -> "8" [dir=forward tooltip="template-instance"] "6" -> "7" [dir=forward tooltip="public-inheritance"] "22" -> "11" [dir=forward tooltip="template-instance"] "20" -> "11" [dir=forward tooltip="template-instance"] "14" -> "11" [dir=forward tooltip="template-instance"] "19" -> "11" [dir=forward tooltip="template-instance"] "12" -> "11" [dir=forward tooltip="template-instance"] "16" -> "11" [dir=forward tooltip="template-instance"] "13" -> "11" [dir=forward tooltip="template-instance"] "10" -> "11" [dir=forward tooltip="template-instance"] "15" -> "11" [dir=forward tooltip="template-instance"] "17" -> "11" [dir=forward tooltip="template-instance"] "18" -> "19" [dir=forward tooltip="public-inheritance"] "21" -> "5" [dir=forward tooltip="public-inheritance"] "21" -> "22" [dir=forward tooltip="usage"] "24" -> "5" [dir=forward tooltip="public-inheritance"] "24" -> "22" [dir=forward tooltip="usage"] "23" -> "24" [dir=forward tooltip="public-inheritance"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "9" [dir=forward tooltip="usage"] "5" -> "17" [dir=forward tooltip="usage"] "5" -> "18" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="public-inheritance"] "9" -> "10" [dir=forward tooltip="usage"] "9" -> "12" [dir=forward tooltip="usage"] "9" -> "13" [dir=forward tooltip="usage"] "9" -> "14" [dir=forward tooltip="usage"] "9" -> "15" [dir=forward tooltip="usage"] "9" -> "16" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="public-inheritance"] }

Public Functions

SurfMeshTriCone(const number_t nbslices = 0, const number_t nbsubdiv = 0, const number_t order = 1, const number_t type = 1, const real_t radius1 = 1., const real_t radius2 = 0.5, const Point P1 = Point(0, 0, 0), const Point P2 = Point(0, 0, 1), const GeomEndShape endShape1 = Flat, const GeomEndShape endShape2 = Flat, const real_t distance1 = 0., const real_t distance2 = 0., const number_t minVertexNum = 1, const number_t minElementNum = 1)#

main constructor

Build a mesh of triangles by successive subdivisions in a cone or a truncated cone.

The cylinder is a particular kind of truncated cone which has a special constructor below.

Nota: If none of the radii is null, this defines a truncated cone. The parameters endShape1 ans endShape2 are both applicable. If one of the radii is null, the corresponding point, P1 or P2, is the apex of the cone and the corresponding endShape is not applicable.

Parameters:
  • nbslices – number of slices of elements orthogonal to the axis of the cone (0 by default, which means that the number of slices is automatically computed ; if nbslices>0, the given value has precedence and is taken into account)

  • nbsubdiv – subdivision level (0 by default) nbsubdiv = 0 corresponds to the initial mesh. For nbsubdiv > 0, each triangle is subdivided into 4 triangles with the same orientation as the original one.

  • order – order of the triangles in the final mesh (1 by default) The default value is 1, which leads to a P1 mesh, in which case each triangle is defined by its 4 vertices. For higher orders, the supplemental vertices correspond to the regular Lagrange mesh. Moreover, if the second argument (type) is non 0, the vertices belonging to the appropriate boundary lie on the surface of the cone.

  • type – type of the subdivision (1 by default) type equal to 0 leads to a simple (flat) subdivision of the initial mesh where new vertices are all the midpoints of the edges. type equal to 1 leads to a subdivision where the boundary vertices are computed so that they lie on the corresponding surface

  • radius1 – : radius of the basis of the cone containing P1 (1. by default)

  • radius2 – : radius of the other basis of the cone containing P2 (0.5 by default)

  • P1, P2 – : the two end points of the axis of the cone

  • endShape1 – : shape of the end surface of the cone on P1 or P2 side

  • endShape2 – : (Flat by default). The possible values are of GeomEndShape type.

  • distance1 – : distance between P1 (resp. P2) and the apex of the surface when the

  • distance2 – : previous parameter is non Flat (default=0.)

  • minVertexNum – minimum number associated to the vertices of the mesh (1 by default)

  • minElementNum – minimum number associated to the elements of the mesh (1 by default)