MFEM
v3.0
|
Abstract data type element. More...
#include <element.hpp>
Public Types | |
enum | Type { POINT, SEGMENT, TRIANGLE, QUADRILATERAL, TETRAHEDRON, HEXAHEDRON, BISECTED, QUADRISECTED, OCTASECTED } |
Constants for the classes derived from Element. More... | |
Public Member Functions | |
Element (int bg=Geometry::POINT) | |
Default element constructor. More... | |
virtual void | SetVertices (const int *ind) |
Set the indices the element according to the input. More... | |
virtual int | GetType () const =0 |
Returns element's type. More... | |
int | GetGeometryType () const |
virtual void | GetVertices (Array< int > &v) const =0 |
Returns element's vertices. More... | |
virtual int * | GetVertices ()=0 |
const int * | GetVertices () const |
virtual int | GetNVertices () const =0 |
virtual int | GetNEdges () const =0 |
virtual const int * | GetEdgeVertices (int) const =0 |
virtual int | GetNFaces (int &nFaceVertices) const =0 |
virtual const int * | GetFaceVertices (int fi) const =0 |
virtual void | MarkEdge (DenseMatrix &pmat) |
Mark the longest edge by assuming/changing the order of the vertices. More... | |
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 | NeedRefinement (DSTable &v_to_v, int *middle) const |
Return 1 if the element needs refinement in order to get conforming mesh. More... | |
int | GetAttribute () const |
Return element's attribute. More... | |
void | SetAttribute (const int attr) |
Set element's attribute. More... | |
virtual int | GetRefinementFlag () |
virtual Element * | Duplicate (Mesh *m) const =0 |
virtual | ~Element () |
Destroys element. More... | |
Protected Attributes | |
int | attribute |
Element's attribute (specifying material property, etc). More... | |
int | base_geom |
Abstract data type element.
Definition at line 27 of file element.hpp.
enum mfem::Element::Type |
Constants for the classes derived from Element.
Enumerator | |
---|---|
POINT | |
SEGMENT | |
TRIANGLE | |
QUADRILATERAL | |
TETRAHEDRON | |
HEXAHEDRON | |
BISECTED | |
QUADRISECTED | |
OCTASECTED |
Definition at line 37 of file element.hpp.
|
inlineexplicit |
Default element constructor.
Definition at line 41 of file element.hpp.
|
inlinevirtual |
Destroys element.
Definition at line 89 of file element.hpp.
|
inline |
Return element's attribute.
Definition at line 79 of file element.hpp.
|
pure virtual |
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
pure virtual |
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
inline |
Definition at line 49 of file element.hpp.
|
pure virtual |
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
pure virtual |
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
pure virtual |
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
inlinevirtual |
Reimplemented in mfem::Tetrahedron.
Definition at line 84 of file element.hpp.
|
pure virtual |
Returns element's type.
Implemented in mfem::OctasectedElement, mfem::QuadrisectedElement, mfem::BisectedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Hexahedron, mfem::Segment, mfem::Quadrilateral, and mfem::Point.
|
pure virtual |
Returns element's vertices.
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
pure virtual |
Implemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Triangle, mfem::Quadrilateral, mfem::Hexahedron, mfem::Segment, and mfem::Point.
|
inline |
Definition at line 56 of file element.hpp.
|
inlinevirtual |
Mark the longest edge by assuming/changing the order of the vertices.
Reimplemented in mfem::RefinedElement, mfem::Tetrahedron, and mfem::Triangle.
Definition at line 70 of file element.hpp.
|
inlinevirtual |
Mark the longest edge by assuming/changing the order of the vertices.
Reimplemented in mfem::RefinedElement, mfem::Tetrahedron, and mfem::Triangle.
Definition at line 73 of file element.hpp.
|
inlinevirtual |
Return 1 if the element needs refinement in order to get conforming mesh.
Reimplemented in mfem::RefinedElement, mfem::Tetrahedron, and mfem::Triangle.
Definition at line 76 of file element.hpp.
|
inline |
Set element's attribute.
Definition at line 82 of file element.hpp.
|
virtual |
Set the indices the element according to the input.
Reimplemented in mfem::RefinedElement, mfem::Tetrahedron, mfem::Quadrilateral, mfem::Triangle, and mfem::Segment.
Definition at line 17 of file element.cpp.
|
protected |
Element's attribute (specifying material property, etc).
Definition at line 32 of file element.hpp.
|
protected |
Definition at line 32 of file element.hpp.