|
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... | |
Basic Queries | |
| size_t | size () const |
| Returns the number of simplices whose facets are described by this facet pairing. More... | |
| const FacetSpec< dim > & | dest (const FacetSpec< dim > &source) const |
| Returns the other facet to which the given simplex facet is paired. More... | |
| const FacetSpec< dim > & | dest (size_t simp, unsigned facet) const |
| Returns the other facet to which the given simplex facet is paired. More... | |
| const FacetSpec< dim > & | operator[] (const FacetSpec< dim > &source) const |
| Returns the other facet to which the given simplex facet is paired. More... | |
| bool | isUnmatched (const FacetSpec< dim > &source) const |
| Determines whether the given simplex facet has been left deliberately unmatched. More... | |
| bool | isUnmatched (size_t simp, unsigned facet) const |
| Determines whether the given simplex facet has been left deliberately unmatched. More... | |
| bool | isClosed () const |
| Determines whether this facet pairing is closed. More... | |
Isomorphic Representations | |
| bool | isCanonical () const |
| Determines whether this facet pairing is in canonical form, i.e., is a lexicographically minimal representative of its isomorphism class. More... | |
| void | findAutomorphisms (IsoList &list) const |
| Fills the given list with the set of all combinatorial automorphisms of this facet pairing. 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. |
|
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. |