Class xlifepp::subdivision::GeomFigure#

class GeomFigure#

Inheritence diagram for xlifepp::subdivision::GeomFigure:

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

Collaboration diagram for xlifepp::subdivision::GeomFigure:

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

Subclassed by xlifepp::subdivision::CartesianFig< Hexahedron >, xlifepp::subdivision::CartesianFig< Quadrangle >, xlifepp::subdivision::Simplex< Tetrahedron >, xlifepp::subdivision::Simplex< Triangle >, xlifepp::subdivision::CartesianFig< T_ >, xlifepp::subdivision::Simplex< T_ >

Public Functions

inline GeomFigure(const number_t num, const number_t nelem, const number_t bdSideNum)#

constructor by number, number of vertices (initial size of vector) and number of boundary side if it lies on a curved patch

inline virtual ~GeomFigure()#

destructor

inline unsigned short bdSideOnCP() const#

returns the number of the side of the figure lying on a boundary curved patch

std::vector<real_t> extNormVec(const number_t i, const std::vector<Vertex> &listV) const#

returns a normal vector to the face number i >= 1 The vector is not normalized and is oriented towards the exterior of the element.

inline number_t number() const#

returns figure number

virtual number_t numberOfEdgesinFig() const = 0#

returns the number of edges of the figure

virtual number_t numberOfO1Vertices() const = 0#

returns the number of main vertices (of order 1) of the figure

inline number_t numberOfVertices() const#

returns the number of all the vertices of the figure

void print(std::ostream &os) const#

prints, on stream os, the definition of an element

Prints, on stream os, the definition of an element.

The vertices are given by their rank in the general list of vertices of class GeomFigureMesh.

inline number_t rankOfVertex(const number_t i) const#

returns rank of vertex number i in the general list of vertices of class SubdivisionMesh, 1 <= i <= numberOfVertices()

inline std::vector<number_t> rankOfVertices() const#

returns the list of all the vertices (given by their rank in the general list of vertices of class SubdivisionMesh)

std::vector<number_t> rkOfHOVeOnEdge(const number_t Order, const number_t i) const#

returns the high order vertices (given by their rank) of edge number i >= 1

Access function returning the high order vertices (given by their rank) of edge number i >= 1 The order is not stored in this class, so it needs to be passed by argument ; it should be the correct one, otherwise the result is false.

virtual std::vector<number_t> rkOfHOVeOnFace(const number_t Order, const number_t i) const = 0#

returns the high order vertices (given by their rank) of face number i >= 1

Access function returning the high order vertices (given by their rank) of face number i >= 1 The order is not stored in this class, so it needs to be passed by argument ; it should be the correct one, otherwise the result is false.

For the triangle and the quadrangle, the face is the element itself and the input number i should be equal to 1.

pair_nn rkOfO1VeOnEdge(const number_t i) const#

returns edge number i >= 1 (given by rank of order 1 vertices) called in createHOeV

Access function returning the edge number i, i in {1,…nb_edges_}.

The edge is defined by the rank of the vertices of order 1 in the vertex list.

std::vector<number_t> rkOfO1VeOnFace(const number_t i) const#

returns face number i >= 1 (given by rank of order 1 vertices) called in createHOfV

Access function returning the face number i, i in {1,…nb_faces_}.

The face is defined by the rank of the vertices of order 1 in the vertex list.