regina::detail::FacetPairingBase< dim > Class Template Reference
Implementation details

Provides core functionality for facet pairings (that is, dual graphs) of dim-dimensional triangulations. More...

`#include <triangulation/detail/facetpairing.h>`

Inheritance diagram for regina::detail::FacetPairingBase< dim >:

## 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...
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...

## Detailed Description

### template<int dim>
class regina::detail::FacetPairingBase< dim >

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.

Python:\n This base class is not present, but the "end user"
  class FacetPairing<dim> is.

Template Parameters

  dim | the dimension of the triangulation. This must be between 2 and 15 inclusive.

## Member Function Documentation

## detail()

std::string regina::Output< FacetPairingBase< dim > , supportsUtf8 >::detail | ( |  | ) | const

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.

Returns
  a detailed text representation of this object.

## str()

std::string regina::Output< FacetPairingBase< dim > , supportsUtf8 >::str | ( |  | ) | const

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.

Python:\n In addition to str(), this is also used as the
  Python "stringification" function `__str__()`.

Returns
  a short text representation of this object.

## utf8()

std::string regina::Output< FacetPairingBase< dim > , supportsUtf8 >::utf8 | ( |  | ) | const

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.

Returns
  a short text representation of this object.

## writeTextLong()

void regina::ShortOutput< FacetPairingBase< dim > , false >::writeTextLong | ( | std::ostream & | out | ) | const

inline inherited

A default implementation for detailed output.

This routine simply calls T::writeTextShort() and appends a final newline.

Python:\n Not present.

Parameters

  out | the output stream to which to write.

The documentation for this class was generated from the following file:

- triangulation/detail/facetpairing.h

Copyright © 1999-2016, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).