Flow123d
release_2.2.1-10-gb9fad4d
|
#include <output_element.hh>
Public Member Functions | |
ElementAccessor () | |
ElementAccessor (const Mesh *mesh, RegionIdx r_idx) | |
ElementAccessor (const Mesh *mesh, unsigned int idx, bool boundary) | |
bool | is_regional () const |
bool | is_elemental () const |
bool | is_valid () const |
unsigned int | dim () const |
const Element * | element () const |
arma::vec::fixed< spacedim > | centre () const |
Region | region () const |
RegionIdx | region_idx () const |
bool | is_boundary () const |
We need this method after replacing Region by RegionIdx, and movinf RegionDB instance into particular mesh. More... | |
unsigned int | idx () const |
Private Attributes | |
unsigned int | dim_ |
Dimension of reference element. More... | |
const Mesh * | mesh_ |
Pointer to the mesh owning the element. More... | |
bool | boundary_ |
True if the element is boundary, i.e. stored in Mesh::bc_elements, bulk elements are stored in Mesh::element. More... | |
unsigned int | element_idx_ |
Index into Mesh::bc_elements or Mesh::element array. More... | |
RegionIdx | r_idx_ |
Region index. More... | |
Static Private Attributes | |
static const unsigned int | undefined_dim_ = 100 |
Element accessor templated just by dimension of the embedding space, used by Fields. This should allow algorithms over elements where dimension of particular element is runtime parameter.
This class suites as interface of Fields to the mesh elements, in particular this accessor knows directly the region, and also can be used as an accessor that works on the whole region if used by Fields that do not depend on particular elements as FieldConstant, FiledFormula, and FieldPython.
TODO:
Ideas: need function to calculate intersection (object) of two ElementAccessors, but this definitely should be templated by dimension of the ref. element (or rather shape of ref. element), here we can have case dispatch
Definition at line 25 of file output_element.hh.
|
inline |
Default invalid accessor.
Definition at line 51 of file accessors.hh.
|
inline |
Regional accessor.
Definition at line 58 of file accessors.hh.
|
inline |
Element accessor.
Definition at line 65 of file accessors.hh.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
We need this method after replacing Region by RegionIdx, and movinf RegionDB instance into particular mesh.
Definition at line 109 of file accessors.hh.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
True if the element is boundary, i.e. stored in Mesh::bc_elements, bulk elements are stored in Mesh::element.
Definition at line 129 of file accessors.hh.
|
private |
Dimension of reference element.
Definition at line 124 of file accessors.hh.
|
private |
Index into Mesh::bc_elements or Mesh::element array.
Definition at line 132 of file accessors.hh.
|
private |
Pointer to the mesh owning the element.
Definition at line 127 of file accessors.hh.
|
private |
Region index.
Definition at line 135 of file accessors.hh.
|
staticprivate |
When dim_ == undefined_dim_ ; the value of element_idx_ is invalid. Is used for ElementAccessors for whole region
Definition at line 121 of file accessors.hh.