Element Struct Reference
Stores one element of a mesh.
More...
#include <mesh.h>
List of all members.
Public Member Functions |
| bool | is_triangle () const |
| bool | is_quad () const |
| bool | is_curved () const |
| int | get_mode () const |
| int | next_vert (int i) const |
| int | prev_vert (int i) const |
| bool | hsplit () const |
| bool | vsplit () const |
| bool | bsplit () const |
| Element * | get_neighbor (int ie) const |
| | Returns a pointer to the neighboring element across the edge 'ie', or NULL if it does not exist or is across an irregular edge.
|
| double | get_area () const |
| | Calculates the area of the element. For curved elements, this is only an approximation: the curvature is not accounted for.
|
| double | get_diameter () const |
| | Returns the length of the longest edge for triangles, and the length of the longer diagonal for quads. Ignores element curvature.
|
| void | ref_all_nodes () |
| void | unref_all_nodes (HashTable *ht) |
Public Attributes |
| int | id |
| | element id number
|
| unsigned | nvert:30 |
| | number of vertices (3 or 4)
|
| unsigned | active:1 |
| | 0 = active, no sons; 1 = inactive (refined), has sons
|
| unsigned | used:1 |
| | array item usage flag
|
| int | marker |
| | element marker
|
| int | userdata |
| | arbitrary user-defined data
|
| int | iro_cache |
| | increase in integration order, see RefMap::calc_inv_ref_order()
|
| Node * | vn [4] |
| | vertex node pointers
|
| union { |
| Node * en [4] |
| | edge node pointers
|
| Element * sons [4] |
| | son elements (up to four)
|
| }; | |
| CurvMap * | cm |
| | curved mapping, NULL if not curvilinear
|
Detailed Description
Stores one element of a mesh.
The element can be a triangle or a quad (nvert == 3 or nvert = 4), active or inactive.
Vertex/node index number [2] (3)-------(2) | | [3]| quad. |[1] | | (0)-------(1) [0] Active elements are actual existing elements in the mesh, which take part in the computation. Inactive elements are those which have once been active, but were refined, ie., replaced by several other (smaller) son elements. The purpose of the union is the following. Active elements store pointers to their vertex and edge nodes. Inactive elements store pointers to thier son elements and to vertex nodes.
If an element has curved edges, the member 'cm' points to an associated CurvMap structure, otherwise it is NULL.
Member Function Documentation
| bool Element::bsplit |
( |
|
) |
const [inline] |
| double Element::get_area |
( |
|
) |
const |
Calculates the area of the element. For curved elements, this is only an approximation: the curvature is not accounted for.
| double Element::get_diameter |
( |
|
) |
const |
Returns the length of the longest edge for triangles, and the length of the longer diagonal for quads. Ignores element curvature.
| int Element::get_mode |
( |
|
) |
const [inline] |
| Element * Element::get_neighbor |
( |
int |
ie |
) |
const |
Returns a pointer to the neighboring element across the edge 'ie', or NULL if it does not exist or is across an irregular edge.
| bool Element::hsplit |
( |
|
) |
const [inline] |
| bool Element::is_curved |
( |
|
) |
const [inline] |
| bool Element::is_quad |
( |
|
) |
const [inline] |
| bool Element::is_triangle |
( |
|
) |
const [inline] |
| int Element::next_vert |
( |
int |
i |
) |
const [inline] |
| int Element::prev_vert |
( |
int |
i |
) |
const [inline] |
| void Element::ref_all_nodes |
( |
|
) |
|
| void Element::unref_all_nodes |
( |
HashTable * |
ht |
) |
|
| bool Element::vsplit |
( |
|
) |
const [inline] |
Member Data Documentation
0 = active, no sons; 1 = inactive (refined), has sons
curved mapping, NULL if not curvilinear
number of vertices (3 or 4)
son elements (up to four)
arbitrary user-defined data
The documentation for this struct was generated from the following files:
- /var/www2/hermes2d/hermes2d/src/mesh.h
- /var/www2/hermes2d/hermes2d/src/mesh.cpp