102 void reserve(
const size_t new_cap);
const Mesh & mesh() const
static bool are_simplex_collections_equal(const SimplexCollection &collection_a, const SimplexCollection &collection_b)
Check if the two simplex collections are equal.
void reserve(const size_t new_cap)
void add(const Simplex &simplex)
Add simplex to the collection.
static SimplexCollection get_union(const SimplexCollection &collection_a, const SimplexCollection &collection_b)
Get union of two simplex collections.
bool contains(const Simplex &simplex) const
Check if simplex is contained in collection.
const std::vector< Simplex > & simplex_vector() const
Return const reference to the simplex vector.
static SimplexCollection get_intersection(const SimplexCollection &collection_a, const SimplexCollection &collection_b)
Get intersection of two simplex collections.
bool operator==(const SimplexCollection &other) const
internal::SimplexEqualFunctor m_simplex_is_equal
internal::SimplexLessFunctor m_simplex_is_less
void sort_and_clean()
Sort simplex vector and remove duplicates.
SimplexCollection(const Mesh &mesh, std::vector< Simplex > &&simplices={})
std::vector< Tuple > simplex_vector_tuples(PrimitiveType ptype) const
Return vector of all simplices of the requested type, as tuples.
std::vector< Simplex > m_simplices