Flow123d
jenkins-Flow123d-linux-release-multijob-282
|
#include <accessors.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 36 of file accessors.hh.
|
inline |
Default invalid accessor.
Definition at line 41 of file accessors.hh.
|
inline |
Regional accessor.
Definition at line 48 of file accessors.hh.
|
inline |
Element accessor.
Definition at line 55 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 99 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 119 of file accessors.hh.
|
private |
Dimension of reference element.
Definition at line 114 of file accessors.hh.
|
private |
Index into Mesh::bc_elements or Mesh::element array.
Definition at line 122 of file accessors.hh.
|
private |
Pointer to the mesh owning the element.
Definition at line 117 of file accessors.hh.
|
private |
Region index.
Definition at line 125 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 111 of file accessors.hh.