Class xlifepp::subdivision::VolMeshTetCone#

class VolMeshTetCone : public xlifepp::subdivision::TetrahedronMesh#

Inheritence diagram for xlifepp::subdivision::VolMeshTetCone:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "4" [label="xlifepp::subdivision::GeomFigureMesh< Tetrahedron >" tooltip="xlifepp::subdivision::GeomFigureMesh< Tetrahedron >"] "3" [label="xlifepp::subdivision::SimplexMesh< Tetrahedron >" tooltip="xlifepp::subdivision::SimplexMesh< Tetrahedron >"] "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"] "2" [label="xlifepp::subdivision::TetrahedronMesh" tooltip="xlifepp::subdivision::TetrahedronMesh"] "1" [label="xlifepp::subdivision::VolMeshTetCone" tooltip="xlifepp::subdivision::VolMeshTetCone" fillcolor="#BFBFBF"] "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"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::subdivision::VolMeshTetCone:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "4" [label="xlifepp::subdivision::GeomFigureMesh< Tetrahedron >" tooltip="xlifepp::subdivision::GeomFigureMesh< Tetrahedron >"] "3" [label="xlifepp::subdivision::SimplexMesh< Tetrahedron >" tooltip="xlifepp::subdivision::SimplexMesh< Tetrahedron >"] "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< Tetrahedron >" tooltip="std::vector< Tetrahedron >"] "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"] "2" [label="xlifepp::subdivision::TetrahedronMesh" tooltip="xlifepp::subdivision::TetrahedronMesh"] "9" [label="xlifepp::subdivision::TopoGeom" tooltip="xlifepp::subdivision::TopoGeom"] "1" [label="xlifepp::subdivision::VolMeshTetCone" tooltip="xlifepp::subdivision::VolMeshTetCone" fillcolor="#BFBFBF"] "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"] "2" -> "3" [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"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Public Functions

VolMeshTetCone(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 tetrahedrons 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 tetrahedron is subdivided into 8 tetrahedrons with the same orientation as the original one: if the first tetrahedron is (1,2,3,4), the vectors 12x13, 41x43, 43x42 and 42x41 define the exterior normals to the faces.

  • order – order of the tetrahedra in the final mesh (1 by default) The default value is 1, which leads to a P1 mesh, in which case each tetrahedron 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)