41 #ifndef DTK_BASICENTITYSET_HPP 42 #define DTK_BASICENTITYSET_HPP 44 #include <unordered_map> 46 #include "DTK_Entity.hpp" 47 #include "DTK_EntityIterator.hpp" 48 #include "DTK_EntitySet.hpp" 49 #include "DTK_Types.hpp" 51 #include <Teuchos_Array.hpp> 52 #include <Teuchos_ArrayView.hpp> 53 #include <Teuchos_Comm.hpp> 54 #include <Teuchos_RCP.hpp> 71 Teuchos::RCP<std::unordered_map<EntityId, Entity>> map,
86 Entity &operator*(
void)
override;
89 Entity *operator->(
void)
override;
105 std::unique_ptr<EntityIterator> clone()
const override;
109 Teuchos::RCP<std::unordered_map<EntityId, Entity>> d_map;
112 std::unordered_map<EntityId, Entity>::iterator d_map_it;
135 BasicEntitySet(
const Teuchos::RCP<
const Teuchos::Comm<int>> comm,
136 const int physical_dimension );
141 void addEntity(
const Entity &entity );
149 Teuchos::RCP<const Teuchos::Comm<int>> communicator()
const override;
158 int physicalDimension()
const override;
170 void getEntity(
const EntityId entity_id,
const int topological_dimension,
171 Entity &entity )
const override;
189 virtual void getAdjacentEntities(
190 const Entity &entity,
const int adjacent_dimension,
191 Teuchos::Array<Entity> &adjacent_entities )
const override;
196 std::unordered_map<EntityId, Entity> &
197 getEntityMap(
const int parametric_dimension );
201 Teuchos::RCP<const Teuchos::Comm<int>> d_comm;
207 mutable Teuchos::Array<std::unordered_map<EntityId, Entity>> d_entities;
214 #endif // end DTK_BASICENTITYSET_HPP Geometric entity interface definition.
Entity iterator interface.
static bool selectAll(Entity)
Select all entities predicate.
ementation of iterator over entities in a basic set.
Geometric entity set interface definition.
std::pair< EntityId, Entity > EntityIdPair
Entity map typedefs.
std::function< bool(Entity)> PredicateFunction
Predicate function typedef.
unsigned long int EntityId
Entity id type.
Basic implementation of the entity set interface.
BasicEntitySetIterator & operator=(const BasicEntitySetIterator &rhs)
Assignment operator.