20 #ifndef GEOS_MESH_TOELEMENTRELATION_HPP_
21 #define GEOS_MESH_TOELEMENTRELATION_HPP_
28 class ElementRegionManager;
35 template<
typename BASETYPE >
49 template<
typename ... DIMS >
The ElementRegionManager class provides an interface to ObjectManagerBase in order to manage ElementR...
A relationship to an element.
ElementRegionManager const * getElementRegionManager() const
Get the ElementRegionManager.
localIndex size() const
Get the current size of the relationship storage.
localIndex size(int const dim) const
Get the size of a specific dimension of the relationship storage.
BASETYPE base_type
The type of the underlying relationship storage object.
void setElementRegionManager(ElementRegionManager const &input)
Set the ElementRegionManager.
void resize(DIMS... newdims)
Resize the underlying relationship storage.
BASETYPE m_toElementIndex
The relationship between object indices and element indices.
ElementRegionManager const * m_elemRegionManager
The current ElementRegionManager.
BASETYPE m_toElementSubRegion
The relationship between object indices and element subregions.
BASETYPE m_toElementRegion
The relationship between object indices and element regions.
ToElementRelation< ArrayOfArrays< localIndex > > OrderedVariableToManyElementRelation
A ToElementRelation where each object is related to an arbitrary number of elements.
ToElementRelation< array2d< localIndex > > FixedToManyElementRelation
A ToElementRelation where each object is related to the same number of elements.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
void insert(OrderedVariableToManyElementRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
Insert an element relation for an object in the relation.
void erase(OrderedVariableToManyElementRelation &relation, localIndex const firstIndex, localIndex const er, localIndex const esr, localIndex const ei)
Remove an element relation from an object in the relation.