Regina Calculation Engine
|
Represents a specific pairwise matching of edges of triangles. More...
#include <census/dim2edgepairing.h>
Public Member Functions | |
Dim2EdgePairing (const Dim2EdgePairing &cloneMe) | |
Creates a new edge pairing that is a clone of the given edge pairing. More... | |
Dim2EdgePairing (const Dim2Triangulation &tri) | |
Creates the edge pairing of the given 2-manifold triangulation. More... | |
![]() | |
NGenericFacetPairing (const NGenericFacetPairing &cloneMe) | |
Creates a new facet pairing that is a clone of the given facet pairing. More... | |
NGenericFacetPairing (const Triangulation &tri) | |
Creates the facet pairing of given triangulation. More... | |
virtual | ~NGenericFacetPairing () |
Deallocates any memory used by this structure. More... | |
unsigned | size () const |
Returns the number of simplices whose facets are described by this facet pairing. More... | |
const NFacetSpec< dim > & | dest (const NFacetSpec< dim > &source) const |
Returns the other facet to which the given simplex facet is paired. More... | |
const NFacetSpec< dim > & | dest (unsigned simp, unsigned facet) const |
Returns the other facet to which the given simplex facet is paired. More... | |
const NFacetSpec< dim > & | operator[] (const NFacetSpec< dim > &source) const |
Returns the other facet to which the given simplex facet is paired. More... | |
bool | isUnmatched (const NFacetSpec< dim > &source) const |
Determines whether the given simplex facet has been left deliberately unmatched. More... | |
bool | isUnmatched (unsigned 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... | |
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... | |
std::string | toString () const |
A deprecated alias for str(), which returns a human-readable representation of this facet pairing. More... | |
std::string | str () const |
Returns a human-readable representation of this facet pairing. 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... | |
void * | run (void *param) |
Internal to findAllPairings(). More... | |
![]() | |
virtual | ~NThread () |
Destroys this thread. More... | |
bool | start (void *args=0, bool deleteAfterwards=false) |
Starts a new thread and performs run() within this new thread. More... | |
void | join () |
Waits for a previously-started thread to terminate. More... | |
Friends | |
class | NGenericFacetPairing< 2 > |
Additional Inherited Members | |
![]() | |
typedef DimTraits< dim > ::FacetPairing | FacetPairing |
The facet pairing class specific to this dimension. More... | |
typedef DimTraits< dim > ::Isomorphism | Isomorphism |
The isomorphism class used for triangulations in this dimension. More... | |
typedef DimTraits< dim >::Perm | Perm |
The permutation class used to glue together facets of simplices when building triangulations in this dimension. More... | |
typedef DimTraits< dim >::Simplex | Simplex |
The class that represents a top-level simplex of a triangulation in this dimension. More... | |
typedef DimTraits< dim > ::Triangulation | Triangulation |
The triangulation class specific to this dimension. More... | |
typedef std::list< Isomorphism * > | IsoList |
A list of isomorphisms on pairwise matchings of simplex facets. More... | |
typedef void(* | Use )(const FacetPairing *, const IsoList *, void *) |
A routine that can do arbitrary processing upon a facet pairing and its automorphisms. More... | |
![]() | |
static FacetPairing * | 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 bool | findAllPairings (unsigned nSimplices, NBoolSet boundary, int nBdryFacets, Use use, void *useArgs=0, bool newThread=false) |
Generates all possible facet pairings satisfying the given constraints. More... | |
![]() | |
NGenericFacetPairing (unsigned size) | |
Creates a new facet pairing. More... | |
NFacetSpec< dim > & | dest (const NFacetSpec< dim > &source) |
Returns the other facet to which the given simplex facet is paired. More... | |
NFacetSpec< dim > & | dest (unsigned simp, unsigned facet) |
Returns the other facet to which the given simplex facet is paired. More... | |
NFacetSpec< dim > & | operator[] (const NFacetSpec< dim > &source) |
Returns the other facet to which the given simplex facet is paired. More... | |
bool | noDest (const NFacetSpec< dim > &source) const |
Determines whether the matching for the given simplex facet has not yet been determined. More... | |
bool | noDest (unsigned 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... | |
![]() | |
unsigned | size_ |
The number of simplices under consideration. More... | |
NFacetSpec< dim > * | pairs_ |
The other facet to which each simplex facet is paired. More... | |
Represents a specific pairwise matching of edges of triangles.
Given a fixed number of triangles, each triangle edge is either paired with some other triangle edge (which is in turn paired with it) or remains unmatched. A triangle edge cannot be paired with itself.
Such a matching models part of the structure of a 2-manifold triangulation, in which each triangle edge is either glued to some other triangle edge facet (which is in turn glued to it) or is an unglued boundary edge.
Note that if this pairing is used to construct an actual 2-manifold triangulation, the individual gluing orientations will still need to be specified; they are not a part of this structure.
|
inline |
Creates a new edge pairing that is a clone of the given edge pairing.
cloneMe | the facet pairing to clone. |
|
inline |
Creates the edge pairing of the given 2-manifold triangulation.
This is the edge pairing that describes how the triangle edges of the given 2-manifold triangulation are joined together, as described in the class notes.
tri | the 2-manifold triangulation whose edge pairing should be constructed. |