Public Types | |
typedef std::set< SignedSet > ::iterator | bounded_cell_iterator |
typedef std::set< SignedSet > ::reverse_iterator | reverse_bounded_cell_iterator |
typedef std::set< SignedSet > ::iterator | bounded_facet_iterator |
typedef std::set< SignedSet > ::reverse_iterator | reverse_bounded_facet_iterator |
typedef std::set< SignedSet > ::iterator | external_facet_iterator |
typedef std::set< SignedSet > ::reverse_iterator | reverse_external_facet_iterator |
typedef std::set< SignedSet > ::iterator | bounded_edge_iterator |
typedef std::set< SignedSet > ::reverse_iterator | reverse_bounded_edge_iterator |
typedef std::set< SignedSet > ::iterator | bounded_vertex_iterator |
typedef std::set< SignedSet > ::reverse_iterator | reverse_bounded_vertex_iterator |
Public Member Functions | |
AffinePseudoSphereArrangement (Circuits &, index_t) | |
AffinePseudoSphereArrangement (AffineCircuits &) | |
size_t | getNumBoundedCells () const |
size_t | getNumBoundedFacets () const |
size_t | getNumExternalFacets () const |
size_t | getNumBoundedEdges () const |
size_t | getNumBoundedVertices () const |
void | setInfinityElement (index_t) |
double | averageDiameter (bool dump=false) |
bounded_cell_iterator | bounded_cell_begin () |
bounded_cell_iterator | bounded_cell_end () |
reverse_bounded_cell_iterator | bounded_cell_rbegin () |
reverse_bounded_cell_iterator | bounded_cell_rend () |
bounded_facet_iterator | bounded_facet_begin () |
bounded_facet_iterator | bounded_facet_end () |
reverse_bounded_facet_iterator | bounded_facet_rbegin () |
reverse_bounded_facet_iterator | bounded_facet_rend () |
external_facet_iterator | external_facet_begin () |
external_facet_iterator | external_facet_end () |
reverse_external_facet_iterator | external_facet_rbegin () |
reverse_external_facet_iterator | external_facet_rend () |
bounded_edge_iterator | bounded_edge_begin () |
bounded_edge_iterator | bounded_edge_end () |
reverse_bounded_edge_iterator | bounded_edge_rbegin () |
reverse_bounded_edge_iterator | bounded_edge_rend () |
bounded_vertex_iterator | bounded_vertex_begin () |
bounded_vertex_iterator | bounded_vertex_end () |
reverse_bounded_vertex_iterator | bounded_vertex_rbegin () |
reverse_bounded_vertex_iterator | bounded_vertex_rend () |
Protected Member Functions | |
void | updateBoundedFaces () |
void | recordCellType (const OMCGraph &) |
void | dumpCellTypes () |
Protected Attributes | |
std::set< SignedSet > | m_BoundedCell |
std::set< SignedSet > | m_BoundedFacet |
std::set< SignedSet > | m_ExternalFacet |
std::set< SignedSet > | m_BoundedEdge |
std::set< SignedSet > | m_BoundedVertex |
std::map< std::string, int > | m_CellCounter |
std::map< std::string, std::map< std::string, int > > | m_ExtraCellCounter |
omc::AffinePseudoSphereArrangement::AffinePseudoSphereArrangement | ( | Circuits & | C, | |
index_t | i | |||
) | [inline] |
Constructor (from cocircuits).
omc::AffinePseudoSphereArrangement::AffinePseudoSphereArrangement | ( | AffineCircuits & | C | ) | [inline] |
Constructor (from affine cocircuits).
double omc::AffinePseudoSphereArrangement::averageDiameter | ( | bool | dump = false |
) |
Compute the average diameter. If dump=true, the details of the bounded cells are dumped. Bounded cells with the same # of facets and vertices are grouped together. Note: currently the dump option only works for 3D case.
AffinePseudoSphereArrangement::bounded_cell_iterator omc::AffinePseudoSphereArrangement::bounded_cell_begin | ( | ) | [inline] |
Get the first position of bounded cell iterator.
AffinePseudoSphereArrangement::bounded_cell_iterator omc::AffinePseudoSphereArrangement::bounded_cell_end | ( | ) | [inline] |
Get the end position of bounded cell iterator.
AffinePseudoSphereArrangement::reverse_bounded_cell_iterator omc::AffinePseudoSphereArrangement::bounded_cell_rbegin | ( | ) | [inline] |
Get the first position of reverse bounded cell iterator.
AffinePseudoSphereArrangement::reverse_bounded_cell_iterator omc::AffinePseudoSphereArrangement::bounded_cell_rend | ( | ) | [inline] |
Get the end position of reverse bounded cell iterator.
AffinePseudoSphereArrangement::bounded_edge_iterator omc::AffinePseudoSphereArrangement::bounded_edge_begin | ( | ) | [inline] |
Get the first position of bounded edge iterator.
AffinePseudoSphereArrangement::bounded_edge_iterator omc::AffinePseudoSphereArrangement::bounded_edge_end | ( | ) | [inline] |
Get the end position of bounded edge iterator.
AffinePseudoSphereArrangement::reverse_bounded_edge_iterator omc::AffinePseudoSphereArrangement::bounded_edge_rbegin | ( | ) | [inline] |
Get the first position of reverse bounded edge iterator.
AffinePseudoSphereArrangement::reverse_bounded_edge_iterator omc::AffinePseudoSphereArrangement::bounded_edge_rend | ( | ) | [inline] |
Get the end position of reverse bounded edge iterator.
AffinePseudoSphereArrangement::bounded_facet_iterator omc::AffinePseudoSphereArrangement::bounded_facet_begin | ( | ) | [inline] |
Get the first position of bounded facet iterator.
AffinePseudoSphereArrangement::bounded_facet_iterator omc::AffinePseudoSphereArrangement::bounded_facet_end | ( | ) | [inline] |
Get the end position of bounded facet iterator.
AffinePseudoSphereArrangement::reverse_bounded_facet_iterator omc::AffinePseudoSphereArrangement::bounded_facet_rbegin | ( | ) | [inline] |
Get the first position of reverse bounded facet iterator.
AffinePseudoSphereArrangement::reverse_bounded_facet_iterator omc::AffinePseudoSphereArrangement::bounded_facet_rend | ( | ) | [inline] |
Get the end position of reverse bounded facet iterator.
AffinePseudoSphereArrangement::bounded_vertex_iterator omc::AffinePseudoSphereArrangement::bounded_vertex_begin | ( | ) | [inline] |
Get the first position of bounded vertex iterator.
AffinePseudoSphereArrangement::bounded_vertex_iterator omc::AffinePseudoSphereArrangement::bounded_vertex_end | ( | ) | [inline] |
Get the end position of bounded vertex iterator.
AffinePseudoSphereArrangement::reverse_bounded_vertex_iterator omc::AffinePseudoSphereArrangement::bounded_vertex_rbegin | ( | ) | [inline] |
Get the first position of reverse bounded vertex iterator.
AffinePseudoSphereArrangement::reverse_bounded_vertex_iterator omc::AffinePseudoSphereArrangement::bounded_vertex_rend | ( | ) | [inline] |
Get the end position of reverse bounded vertex iterator.
void omc::AffinePseudoSphereArrangement::dumpCellTypes | ( | ) | [protected] |
Dump the recorded cell types.
AffinePseudoSphereArrangement::external_facet_iterator omc::AffinePseudoSphereArrangement::external_facet_begin | ( | ) | [inline] |
Get the first position of external facet iterator.
AffinePseudoSphereArrangement::external_facet_iterator omc::AffinePseudoSphereArrangement::external_facet_end | ( | ) | [inline] |
Get the end position of external facet iterator.
AffinePseudoSphereArrangement::reverse_external_facet_iterator omc::AffinePseudoSphereArrangement::external_facet_rbegin | ( | ) | [inline] |
Get the first position of reverse external facet iterator.
AffinePseudoSphereArrangement::reverse_external_facet_iterator omc::AffinePseudoSphereArrangement::external_facet_rend | ( | ) | [inline] |
Get the end position of reverse external facet iterator.
size_t omc::AffinePseudoSphereArrangement::getNumBoundedCells | ( | ) | const [inline] |
Get the # of bounded cells.
size_t omc::AffinePseudoSphereArrangement::getNumBoundedEdges | ( | ) | const [inline] |
Get the # of bounded edges.
size_t omc::AffinePseudoSphereArrangement::getNumBoundedFacets | ( | ) | const [inline] |
Get the # of bounded facets.
size_t omc::AffinePseudoSphereArrangement::getNumBoundedVertices | ( | ) | const [inline] |
Get the # of bounded vertices.
size_t omc::AffinePseudoSphereArrangement::getNumExternalFacets | ( | ) | const [inline] |
Get the # of external facets.
void omc::AffinePseudoSphereArrangement::recordCellType | ( | const OMCGraph & | G | ) | [protected] |
Given the skeleton of a cell, find out its type and record it. A type of bounded cell is identified by "f-v", where f is the # of facets and v is the # of vertices. A type may have different subtypes, we use some easy-to-compute characteristic such as the number of triangles to distinguish them.
-------------------- 3D bounded cells -------------------------------- Type Subtype edges #3-gons #4-gons #5-gons Diameter Memo ---------------------------------------------------------------------- 4-4 6 1 Tetrahedron ---------------------------------------------------------------------- 5-6 9 2 Triangular prism ---------------------------------------------------------------------- 6-8 1 12 0 3 Cube 6-8 2 12 2 3 6-shell ---------------------------------------------------------------------- 7-10 1 15 0 3 Pentagonal prism 7-10 2 15 1 3 7-10 3 15 2 2 3 7-10 4 15 3 3 7-10 5 15 2 3 3 7-shell ---------------------------------------------------------------------- 8-12 1 18 3 1 2 4 8-12 2 18 2 4 4 8-shell 8-12 3 18 2 2 3 4 8-12 4 18 2 3 4 8-12 5 18 3 1 1 4 8-12 6 18 4 3 8-12 7 18 2 2 2 4 8-12 8 18 2 2 2 4 8-12 9 18 2 1 4 8-12 10 18 1 3 4 8-12 11 18 0 6 4 Hexagonal prism 8-12 12 18 1 4 4 8-12 13 18 2 0 4 8-12 14 18 0 4 3 ----------------------------------------------------------------------
void omc::AffinePseudoSphereArrangement::setInfinityElement | ( | index_t | i | ) | [inline, virtual] |
Set the infintiy element.
Reimplemented from omc::AffineObject.
void omc::AffinePseudoSphereArrangement::updateBoundedFaces | ( | ) | [protected] |
Update the vectors representing bounded faces.