MFEM  v3.2
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
}
 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 int GetType () const
 Return element's type. More...
 
virtual 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 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 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
 
int GetAttribute () const
 Return element's attribute. More...
 
void SetAttribute (const int attr)
 Set element's attribute. More...
 
const int * GetVertices () const
 
virtual int GetRefinementFlag ()
 
virtual ~Element ()
 Destroys element. More...
 

Static Public Member Functions

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...
 
int base_geom
 

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 89 of file triangle.hpp.

Member Function Documentation

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

Implements mfem::Element.

Definition at line 86 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 77 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 83 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 75 of file triangle.hpp.

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

Implements mfem::Element.

Definition at line 80 of file triangle.hpp.

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

Implements mfem::Element.

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

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

Return current coarse-fine transformation.

Reimplemented from mfem::Element.

Definition at line 59 of file triangle.hpp.

virtual int 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 189 of file triangle.cpp.

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

Implements mfem::Element.

Definition at line 71 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 1. 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 55 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 102 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 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 62 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 58 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 47 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: