Class xlifepp::subdivision::Tetrahedron#

class Tetrahedron : public xlifepp::subdivision::Simplex<Tetrahedron>#

Inheritence diagram for xlifepp::subdivision::Tetrahedron:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::subdivision::Simplex< Tetrahedron >" tooltip="xlifepp::subdivision::Simplex< Tetrahedron >"] "3" [label="xlifepp::subdivision::GeomFigure" tooltip="xlifepp::subdivision::GeomFigure"] "4" [label="xlifepp::subdivision::Simplex< T_ >" tooltip="xlifepp::subdivision::Simplex< T_ >"] "1" [label="xlifepp::subdivision::Tetrahedron" tooltip="xlifepp::subdivision::Tetrahedron" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "4" [dir=forward tooltip="template-instance"] "4" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::subdivision::Tetrahedron:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::subdivision::Simplex< Tetrahedron >" tooltip="xlifepp::subdivision::Simplex< Tetrahedron >"] "5" [label="std::vector< T >" tooltip="std::vector< T >"] "4" [label="std::vector< number_t >" tooltip="std::vector< number_t >"] "3" [label="xlifepp::subdivision::GeomFigure" tooltip="xlifepp::subdivision::GeomFigure"] "6" [label="xlifepp::subdivision::Simplex< T_ >" tooltip="xlifepp::subdivision::Simplex< T_ >"] "1" [label="xlifepp::subdivision::Tetrahedron" tooltip="xlifepp::subdivision::Tetrahedron" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "6" [dir=forward tooltip="template-instance"] "4" -> "5" [dir=forward tooltip="template-instance"] "3" -> "4" [dir=forward tooltip="usage"] "6" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Public Functions

Tetrahedron(const number_t num, const number_t rV1, const number_t rV2, const number_t rV3, const number_t rV4, const number_t bdSideNum = 0)#

constructor by vertices, given by their rank in the list

Conversion constructor.

Constructor by vertices, given by their rank in the list

real_t diameter(const std::vector<Vertex> &listV) const#

diameter of the tetrahedron (longest edge)

Diameter of the tetrahedron (longest edge)

inline virtual short getrkEdge(short indEdge, short indVert) const#

get back the rank of a vertex of an edge

inline virtual short getrkFace(short indFace, short indVert) const#

get back the rank of a vertex of a face

real_t inRadius(const std::vector<Vertex> &listV) const#

radius of inscribed sphere

Radius of inscribed sphere inside the current tetrahedron: 3 V / (S1+S2+S3+S4)

real_t volume(const std::vector<Vertex> &listV) const#

volume of the tetrahedron

Volume of the current tetrahedron: [(41 x 42) .

43] / 6

Public Static Functions

static std::vector<std::vector<number_t>> numberingOfVertices(const number_t Order)#

position of the vertices in relation with the numbering convention

This function gives the local position of the vertices of any tetrahedron of the mesh corresponding to the numbering convention explained on top of the Tetrahedron class header file (Tetrahedron.hpp).

The entry BC[i] in the returned vector BC contains a vector whose components BC[i][j] are equal to k*lambda_j, where k is the order of the mesh and lambda_j is the jth barycentric coordinate of the vertex number i+1 with respect to the 4 main vertices of the tetrahedron(*). Thus, the returned vector gives the location of the vertices according to the way they are encountered in the numbering process implemented by the functions GeomFigureMesh<T_>::createHOV, GeomFigureMesh<T_>::createHOeV, SimplexMesh<T_>::createHOfV and TetrahedronMesh::createHOiV.

(*) In fact, the last value is not stored since it is equal to k - sum of the previous values.

static std::vector<short> numEdgesOfFace(const number_t i)#

returns the numbers (>= 1) of the edges defining the face number i

static std::vector<std::pair<short, short>> rkEdgeVertices()#

returns the ranks (>= 0) of the vertices defining the edges of the tetrahedron