MFEM  v4.2.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
mfem::Triangle Class Reference

Data type triangle element. More...

#include <triangle.hpp>

Inheritance diagram for mfem::Triangle:
[legend]
Collaboration diagram for mfem::Triangle:
[legend]

Public Types

typedef Geometry::Constants
< Geometry::TRIANGLE
geom_t
 
- Public Types inherited from mfem::Element
enum  Type {
  POINT, SEGMENT, TRIANGLE, QUADRILATERAL,
  TETRAHEDRON, HEXAHEDRON, WEDGE
}
 Constants for the classes derived from Element. More...
 

Public Member Functions

 Triangle ()
 
 Triangle (const int *ind, int attr=1)
 Constructs triangle by specifying the indices and the attribute. More...
 
 Triangle (int ind1, int ind2, int ind3, int attr=1)
 Constructs triangle by specifying the indices and the attribute. More...
 
virtual Type GetType () const
 Return element's type. More...
 
virtual int NeedRefinement (HashTable< Hashed2 > &v_to_v) const
 Return 1 if the element needs refinement in order to get conforming mesh. More...
 
virtual void SetVertices (const int *ind)
 Set the vertices according to the given input. More...
 
void MarkEdge (DenseMatrix &pmat)
 
virtual void MarkEdge (const DSTable &v_to_v, const int *length)
 Mark the longest edge by assuming/changing the order of the vertices. More...
 
virtual void ResetTransform (int tr)
 Set current coarse-fine transformation number. More...
 
virtual unsigned GetTransform () const
 Return current coarse-fine transformation. More...
 
virtual void PushTransform (int tr)
 Add 'tr' to the current chain of coarse-fine transformations. More...
 
virtual void GetVertices (Array< int > &v) const
 Returns the indices of the element's vertices. More...
 
virtual int * GetVertices ()
 
virtual int GetNVertices () const
 
virtual int GetNEdges () const
 
virtual const int * GetEdgeVertices (int ei) const
 
virtual MFEM_DEPRECATED int GetNFaces (int &nFaceVertices) const
 
virtual int GetNFaces () const
 
virtual int GetNFaceVertices (int) const
 
virtual const int * GetFaceVertices (int fi) const
 
virtual ElementDuplicate (Mesh *m) const
 
virtual ~Triangle ()
 
- Public Member Functions inherited from mfem::Element
 Element (Geometry::Type bg=Geometry::POINT)
 Default element constructor. More...
 
Geometry::Type GetGeometryType () const
 
int GetAttribute () const
 Return element's attribute. More...
 
void SetAttribute (const int attr)
 Set element's attribute. More...
 
const int * GetVertices () const
 
virtual ~Element ()
 Destroys element. More...
 

Static Public Member Functions

static void MarkEdge (int *indices, const DSTable &v_to_v, const int *length)
 
static void GetPointMatrix (unsigned transform, DenseMatrix &pm)
 Calculate point matrix corresponding to a chain of transformations. More...
 

Protected Attributes

int indices [3]
 
unsigned transform
 
- Protected Attributes inherited from mfem::Element
int attribute
 Element's attribute (specifying material property, etc). More...
 
Geometry::Type base_geom
 Element's type from the Finite Element's perspective. More...
 

Detailed Description

Data type triangle element.

Definition at line 23 of file triangle.hpp.

Member Typedef Documentation

Definition at line 31 of file triangle.hpp.

Constructor & Destructor Documentation

mfem::Triangle::Triangle ( )
inline

Definition at line 33 of file triangle.hpp.

mfem::Triangle::Triangle ( const int *  ind,
int  attr = 1 
)

Constructs triangle by specifying the indices and the attribute.

Definition at line 17 of file triangle.cpp.

mfem::Triangle::Triangle ( int  ind1,
int  ind2,
int  ind3,
int  attr = 1 
)

Constructs triangle by specifying the indices and the attribute.

Definition at line 27 of file triangle.cpp.

virtual mfem::Triangle::~Triangle ( )
inlinevirtual

Definition at line 97 of file triangle.hpp.

Member Function Documentation

virtual Element* mfem::Triangle::Duplicate ( Mesh m) const
inlinevirtual

Implements mfem::Element.

Definition at line 94 of file triangle.hpp.

virtual const int* mfem::Triangle::GetEdgeVertices ( int  ei) const
inlinevirtual

Implements mfem::Element.

Definition at line 80 of file triangle.hpp.

virtual const int* mfem::Triangle::GetFaceVertices ( int  fi) const
inlinevirtual

Implements mfem::Element.

Definition at line 91 of file triangle.hpp.

virtual int mfem::Triangle::GetNEdges ( ) const
inlinevirtual

Implements mfem::Element.

Definition at line 78 of file triangle.hpp.

virtual MFEM_DEPRECATED int mfem::Triangle::GetNFaces ( int &  nFaceVertices) const
inlinevirtual
Deprecated:
Use GetNFaces(void) and GetNFaceVertices(int) instead.

Implements mfem::Element.

Definition at line 84 of file triangle.hpp.

virtual int mfem::Triangle::GetNFaces ( void  ) const
inlinevirtual

Implements mfem::Element.

Definition at line 87 of file triangle.hpp.

virtual int mfem::Triangle::GetNFaceVertices ( int  ) const
inlinevirtual

Implements mfem::Element.

Definition at line 89 of file triangle.hpp.

virtual int mfem::Triangle::GetNVertices ( ) const
inlinevirtual

Implements mfem::Element.

Definition at line 76 of file triangle.hpp.

void mfem::Triangle::GetPointMatrix ( unsigned  transform,
DenseMatrix pm 
)
static

Calculate point matrix corresponding to a chain of transformations.

Definition at line 126 of file triangle.cpp.

virtual unsigned mfem::Triangle::GetTransform ( ) const
inlinevirtual

Return current coarse-fine transformation.

Reimplemented from mfem::Element.

Definition at line 62 of file triangle.hpp.

virtual Type mfem::Triangle::GetType ( ) const
inlinevirtual

Return element's type.

Implements mfem::Element.

Definition at line 42 of file triangle.hpp.

void mfem::Triangle::GetVertices ( Array< int > &  v) const
virtual

Returns the indices of the element's vertices.

Implements mfem::Element.

Definition at line 188 of file triangle.cpp.

virtual int* mfem::Triangle::GetVertices ( )
inlinevirtual

Implements mfem::Element.

Definition at line 74 of file triangle.hpp.

void mfem::Triangle::MarkEdge ( DenseMatrix pmat)

Reorder the vertices so that the longest edge is from vertex 0 to vertex 1. If called it should be once from the mesh constructor, because the order may be used later for setting the edges.

Definition at line 53 of file triangle.cpp.

void mfem::Triangle::MarkEdge ( int *  indices,
const DSTable v_to_v,
const int *  length 
)
static

Definition at line 101 of file triangle.cpp.

virtual void mfem::Triangle::MarkEdge ( const DSTable v_to_v,
const int *  length 
)
inlinevirtual

Mark the longest edge by assuming/changing the order of the vertices.

Reimplemented from mfem::Element.

Definition at line 58 of file triangle.hpp.

int mfem::Triangle::NeedRefinement ( HashTable< Hashed2 > &  v_to_v) const
virtual

Return 1 if the element needs refinement in order to get conforming mesh.

Reimplemented from mfem::Element.

Definition at line 37 of file triangle.cpp.

virtual void mfem::Triangle::PushTransform ( int  tr)
inlinevirtual

Add 'tr' to the current chain of coarse-fine transformations.

Reimplemented from mfem::Element.

Definition at line 65 of file triangle.hpp.

virtual void mfem::Triangle::ResetTransform ( int  tr)
inlinevirtual

Set current coarse-fine transformation number.

Reimplemented from mfem::Element.

Definition at line 61 of file triangle.hpp.

void mfem::Triangle::SetVertices ( const int *  ind)
virtual

Set the vertices according to the given input.

Reimplemented from mfem::Element.

Definition at line 45 of file triangle.cpp.

Member Data Documentation

int mfem::Triangle::indices[3]
protected

Definition at line 26 of file triangle.hpp.

unsigned mfem::Triangle::transform
protected

Definition at line 28 of file triangle.hpp.


The documentation for this class was generated from the following files: