16 #ifndef GEOS_CELLBLOCKABC_HPP 
   17 #define GEOS_CELLBLOCKABC_HPP 
   49                 Group * 
const parent )
 
  120   template< 
typename LAMBDA >
 
  123     for( 
auto * wrapperBase: this->getExternalProperties() )
 
  125       lambda( *wrapperBase );
 
  140   virtual std::list< dataRepository::WrapperBase const * > getExternalProperties() 
const = 0;
 
virtual localIndex numElements() const =0
Get the number of elements.
 
void forExternalProperties(LAMBDA &&lambda) const
Helper function to apply a lambda function over all the external properties of the subregion.
 
virtual localIndex numEdgesPerElement() const =0
Get the number of edges per element.
 
virtual localIndex numNodesPerElement() const =0
Get the number of nodes per element.
 
virtual array1d< globalIndex > localToGlobalMap() const =0
Get local to global map.
 
virtual array2d< localIndex > getElemToFaces() const =0
Get the element-to-faces map.
 
virtual array2d< localIndex, cells::NODE_MAP_PERMUTATION > getElemToNodes() const =0
Get the element-to-nodes map.
 
virtual ElementType getElementType() const =0
Get the type of element in this subregion.
 
virtual localIndex numFacesPerElement() const =0
Get the number of faces per element.
 
CellBlockABC(string const &name, Group *const parent)
Constructor.
 
virtual array2d< localIndex > getElemToEdges() const =0
Get the element-to-edges map.
 
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
 
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
 
ElementType
Denotes type of cell/element shape.
 
Array< T, 1 > array1d
Alias for 1D array.