MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | Static 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 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...
 
int NeedRefinement (DSTable &v_to_v, int *middle) 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...
 
virtual 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 int GetType () const
 Return element's type. 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 int GetNFaces (int &nFaceVertices) const
 
virtual const int * GetFaceVertices (int fi) const
 
virtual ElementDuplicate (Mesh *m) const
 
virtual ~Triangle ()
 
- Public Member Functions inherited from mfem::Element
 Element (int bg=Geometry::POINT)
 Default element constructor. More...
 
int GetGeometryType () const
 
const int * GetVertices () const
 
int GetAttribute () const
 Return element's attribute. More...
 
void SetAttribute (const int attr)
 Set element's attribute. More...
 
virtual int GetRefinementFlag ()
 
virtual ~Element ()
 Destroys element. More...
 

Protected Attributes

int indices [3]
 
- Protected Attributes inherited from mfem::Element
int attribute
 Element's attribute (specifying material property, etc). More...
 
int base_geom
 

Static Protected Attributes

static const int edges [3][2] = {{0, 1}, {1, 2}, {2, 0}}
 

Additional Inherited Members

- Public Types inherited from mfem::Element
enum  Type {
  POINT, SEGMENT, TRIANGLE, QUADRILATERAL,
  TETRAHEDRON, HEXAHEDRON, BISECTED, QUADRISECTED,
  OCTASECTED
}
 Constants for the classes derived from Element. More...
 

Detailed Description

Data type triangle element.

Definition at line 23 of file triangle.hpp.

Constructor & Destructor Documentation

mfem::Triangle::Triangle ( )
inline

Definition at line 31 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 20 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 29 of file triangle.cpp.

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

Definition at line 76 of file triangle.hpp.

Member Function Documentation

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

Implements mfem::Element.

Definition at line 73 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 65 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 70 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 63 of file triangle.hpp.

virtual int mfem::Triangle::GetNFaces ( int &  nFaceVertices) const
inlinevirtual

Implements mfem::Element.

Definition at line 67 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 61 of file triangle.hpp.

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

Return element's type.

Implements mfem::Element.

Definition at line 54 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 125 of file triangle.cpp.

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

Implements mfem::Element.

Definition at line 59 of file triangle.hpp.

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

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

Reimplemented from mfem::Element.

Definition at line 56 of file triangle.cpp.

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

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

Reimplemented from mfem::Element.

Definition at line 101 of file triangle.cpp.

int mfem::Triangle::NeedRefinement ( DSTable v_to_v,
int *  middle 
) const
virtual

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

Reimplemented from mfem::Element.

Definition at line 38 of file triangle.cpp.

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

Set the vertices according to the given input.

Reimplemented from mfem::Element.

Definition at line 48 of file triangle.cpp.

Member Data Documentation

const int mfem::Triangle::edges = {{0, 1}, {1, 2}, {2, 0}}
staticprotected

Definition at line 27 of file triangle.hpp.

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

Definition at line 26 of file triangle.hpp.


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