Abstract simplex used in Skeleton blockers data-structure. More...
Public Member Functions | |
Constructors / Destructors / Initialization | |
void | clear () |
Skeleton_blocker_simplex (std::initializer_list< T > &list) | |
template<typename ... Args> | |
Skeleton_blocker_simplex (Args ... args) | |
template<typename ... Args> | |
void | add_vertices (T v, Args ... args) |
void | add_vertices (T v) |
void | add_vertices () |
Skeleton_blocker_simplex (std::string token) | |
Simplex manipulation | |
void | add_vertex (T v) |
void | remove_vertex (T v) |
void | intersection (const Skeleton_blocker_simplex &a) |
void | difference (const Skeleton_blocker_simplex &a) |
void | union_vertices (const Skeleton_blocker_simplex &a) |
std::set< T >::const_iterator | begin () const |
std::set< T >::const_iterator | end () const |
std::set< T >::const_reverse_iterator | rbegin () const |
std::set< T >::const_reverse_iterator | rend () const |
std::set< T >::iterator | begin () |
std::set< T >::iterator | end () |
Queries | |
int | dimension () const |
bool | empty () const |
T | first_vertex () const |
T | last_vertex () const |
bool | contains (const Skeleton_blocker_simplex &a) const |
bool | contains_difference (const Skeleton_blocker_simplex &a, const Skeleton_blocker_simplex &b) const |
bool | contains_difference (const Skeleton_blocker_simplex &a, T x) const |
bool | contains_difference (const Skeleton_blocker_simplex &a, T x, T y) const |
bool | contains (T v) const |
bool | disjoint (const Skeleton_blocker_simplex &a) const |
bool | operator== (const Skeleton_blocker_simplex &other) const |
bool | operator!= (const Skeleton_blocker_simplex &other) const |
bool | operator< (const Skeleton_blocker_simplex &other) const |
std::ostream & | operator<< (std::ostream &o, const Skeleton_blocker_simplex &sigma) |
Abstract simplex used in Skeleton blockers data-structure.
An abstract simplex is represented as an ordered set of T elements, each element representing a vertex.
The element representing a vertex can be SkeletonBlockerDS::Vertex_handle or SkeletonBlockerDS::Root_vertex_handle.
|
inlineexplicit |
Initialize a simplex with a string such as {0,1,2}
|
inline |
Add the vertex v to the simplex: Note that adding two times the same vertex is the same that adding it once.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Subtracts a from the simplex.
|
inline |
Returns the dimension of the simplex.
|
inline |
Returns the first and smallest vertex of the simplex.
Be careful : assumes the simplex is non-empty.
|
inline |
Intersects the simplex with the simplex a.
|
inline |
Returns the last and greatest vertex of the simplex.
Be careful : assumes the simplex is non-empty.
|
inline |
Remove the vertex v from the simplex:
|
inline |
Add vertices of a to the simplex.