Regina Calculation Engine
|
Provides core functionality for facet pairings (that is, dual graphs) of dim-dimensional triangulations. More...
#include <triangulation/detail/facetpairing.h>
Public Types | |
typedef std::list< Isomorphism< dim > * > | IsoList |
A list of isomorphisms on facet pairings. More... | |
typedef void(* | Use) (const FacetPairing< dim > *, const IsoList *, void *) |
A routine that can do arbitrary processing upon a facet pairing and its automorphisms. More... | |
Public Member Functions | |
void | writeTextLong (std::ostream &out) const |
A default implementation for detailed output. More... | |
std::string | str () const |
Returns a short text representation of this object. More... | |
std::string | utf8 () const |
Returns a short text representation of this object using unicode characters. More... | |
std::string | detail () const |
Returns a detailed text representation of this object. More... | |
Constructors and Destructors | |
FacetPairingBase (const FacetPairingBase &cloneMe) | |
Creates a new facet pairing that is a clone of the given facet pairing. More... | |
FacetPairingBase (const Triangulation< dim > &tri) | |
Creates the facet pairing of given triangulation. More... | |
~FacetPairingBase () | |
Deallocates any memory used by this structure. More... | |
Protected Attributes | |
size_t | size_ |
The number of simplices under consideration. More... | |
FacetSpec< dim > * | pairs_ |
The other facet to which each simplex facet is paired. More... | |
Input and Output | |
void | writeTextShort (std::ostream &out) const |
Writes a human-readable representation of this facet pairing to the given output stream. More... | |
std::string | toTextRep () const |
Returns a text-based representation of this facet pairing that can be used to reconstruct the facet pairing. More... | |
void | writeDot (std::ostream &out, const char *prefix=0, bool subgraph=false, bool labels=false) const |
Writes the graph corresponding to this facet pairing in the Graphviz DOT language. More... | |
std::string | dot (const char *prefix=0, bool subgraph=false, bool labels=false) const |
Returns a Graphviz DOT representation of the graph that describes this facet pairing. More... | |
FacetPairingBase & | operator= (const FacetPairingBase &)=delete |
static FacetPairing< dim > * | fromTextRep (const std::string &rep) |
Reconstructs a facet pairing from a text-based representation. More... | |
static void | writeDotHeader (std::ostream &out, const char *graphName=0) |
Writes header information for a Graphviz DOT file that will describe the graphs for one or more facet pairings. More... | |
static std::string | dotHeader (const char *graphName=0) |
Returns header information for a Graphviz DOT file that will describe the graphs for one or more facet pairings. More... | |
static void | findAllPairings (size_t nSimplices, BoolSet boundary, int nBdryFacets, Use use, void *useArgs=0) |
Generates all possible facet pairings satisfying the given constraints. More... | |
FacetPairingBase (size_t size) | |
Creates a new facet pairing. More... | |
FacetSpec< dim > & | dest (const FacetSpec< dim > &source) |
Returns the other facet to which the given simplex facet is paired. More... | |
FacetSpec< dim > & | dest (size_t simp, unsigned facet) |
Returns the other facet to which the given simplex facet is paired. More... | |
FacetSpec< dim > & | operator[] (const FacetSpec< dim > &source) |
Returns the other facet to which the given simplex facet is paired. More... | |
bool | noDest (const FacetSpec< dim > &source) const |
Determines whether the matching for the given simplex facet has not yet been determined. More... | |
bool | noDest (size_t simp, unsigned facet) const |
Determines whether the matching for the given simplex facet has not yet been determined. More... | |
bool | isCanonicalInternal (IsoList &list) const |
Determines whether this facet pairing is in canonical (smallest lexicographical) form, given a small set of assumptions. More... | |
Provides core functionality for facet pairings (that is, dual graphs) of dim-dimensional triangulations.
Such a facet pairing is represented by the class FacetPairing<dim>, which uses this as a base class. End users should not need to refer to FacetPairingBase directly.
See the FacetPairing class notes for further information.
dim | the dimension of the triangulation. This must be between 2 and 15 inclusive. |
|
inherited |
Returns a detailed text representation of this object.
This text may span many lines, and should provide the user with all the information they could want. It should be human-readable, should not contain extremely long lines (which cause problems for users reading the output in a terminal), and should end with a final newline. There are no restrictions on the underlying character set.
|
inherited |
Returns a short text representation of this object.
This text should be human-readable, should fit on a single line, and should not end with a newline. Where possible, it should use plain ASCII characters.
__str__()
.
|
inherited |
Returns a short text representation of this object using unicode characters.
Like str(), this text should be human-readable, should fit on a single line, and should not end with a newline. In addition, it may use unicode characters to make the output more pleasant to read. This string will be encoded in UTF-8.
|
inlineinherited |
A default implementation for detailed output.
This routine simply calls T::writeTextShort() and appends a final newline.
out | the output stream to which to write. |