12 #ifndef MFEM_TETRAHEDRON
13 #define MFEM_TETRAHEDRON
15 #include "../config/config.hpp"
52 Tetrahedron(
int ind1,
int ind2,
int ind3,
int ind4,
int attr = 1);
55 void Init(
int ind1,
int ind2,
int ind3,
int ind4,
int attr = 1,
104 MFEM_DEPRECATED
virtual int GetNFaces(
int &nFaceVertices)
const
105 { nFaceVertices = 3;
return 4; }
void Init(int ind1, int ind2, int ind3, int ind4, int attr=1, int ref_flag=0)
Initialize the vertex indices and the attribute of a Tetrahedron.
virtual int GetNEdges() const
virtual int GetNFaceVertices(int) const
static const int FaceVert[NumFaces][MaxFaceVert]
Data type dense matrix using column-major storage.
virtual void SetVertices(const int *ind)
Set the vertices according to the given input.
virtual Element * Duplicate(Mesh *m) const
virtual Type GetType() const
Return element's type.
void CreateRefinementFlag(int refinement_edges[2], int type, int flag=0)
Type
Constants for the classes derived from Element.
virtual void ResetTransform(int tr)
Set current coarse-fine transformation number.
static const int Edges[NumEdges][2]
virtual int GetNFaces() const
Geometry::Constants< Geometry::TETRAHEDRON > geom_t
Data type tetrahedron element.
virtual const int * GetFaceVertices(int fi) const
virtual unsigned GetTransform() const
Return current coarse-fine transformation.
virtual void PushTransform(int tr)
Add 'tr' to the current chain of coarse-fine transformations.
class Linear3DFiniteElement TetrahedronFE
virtual int * GetVertices()
virtual const int * GetEdgeVertices(int ei) const
virtual int NeedRefinement(HashTable< Hashed2 > &v_to_v) const
Return 1 if the element needs refinement in order to get conforming mesh.
static void GetPointMatrix(unsigned transform, DenseMatrix &pm)
Calculate point matrix corresponding to a chain of transformations.
virtual int GetNVertices() const
virtual MFEM_DEPRECATED int GetNFaces(int &nFaceVertices) const
void GetMarkedFace(const int face, int *fv)
void SetRefinementFlag(int rf)
void ParseRefinementFlag(int refinement_edges[2], int &type, int &flag)
virtual void MarkEdge(const DSTable &v_to_v, const int *length)
Abstract data type element.