|
Regina Calculation Engine
|
Provides core functionality for combinatorial isomorphisms between dim-manifold triangulations. More...
#include <triangulation/detail/isomorphism.h>
Public Member Functions | |
| IsomorphismBase (unsigned nSimplices) | |
| Creates a new isomorphism with no initialisation. More... | |
| IsomorphismBase (const IsomorphismBase< dim > &src) | |
| Creates a new copy of the given isomorphism. More... | |
| IsomorphismBase (IsomorphismBase< dim > &&src) noexcept | |
| Moves the given isomorphism into this new isomorphism. More... | |
| ~IsomorphismBase () | |
| Destroys this isomorphism. More... | |
| IsomorphismBase & | operator= (const IsomorphismBase &src) |
| Copies the given isomorphism into this isomorphism. More... | |
| IsomorphismBase & | operator= (IsomorphismBase &&src) noexcept |
| Moves the given isomorphism into this isomorphism. More... | |
| unsigned | size () const |
| Returns the number of simplices in the source triangulation associated with this isomorphism. More... | |
| int & | simpImage (unsigned sourceSimp) |
| Determines the image of the given source simplex under this isomorphism. More... | |
| int | simpImage (unsigned sourceSimp) const |
| Determines the image of the given source simplex under this isomorphism. More... | |
| Perm< dim+1 > & | facetPerm (unsigned sourceSimp) |
| Returns a read-write reference to the permutation that is applied to the (dim + 1) facets of the given source simplex under this isomorphism. More... | |
| Perm< dim+1 > | facetPerm (unsigned sourceSimp) const |
| Determines the permutation that is applied to the (dim + 1) facets of the given source simplex under this isomorphism. More... | |
| FacetSpec< dim > | operator[] (const FacetSpec< dim > &source) const |
| Determines the image of the given source simplex facet under this isomorphism. More... | |
| bool | isIdentity () const |
| Determines whether or not this is an identity isomorphism. More... | |
| Triangulation< dim > * | apply (const Triangulation< dim > *original) const |
| Applies this isomorphism to the given triangulation, and returns the result as a new triangulation. More... | |
| void | applyInPlace (Triangulation< dim > *tri) const |
| Applies this isomorphism to the given triangulation, modifying the given triangulation directly. More... | |
| void | writeTextShort (std::ostream &out) const |
| Writes a short text representation of this object to the given output stream. More... | |
| void | writeTextLong (std::ostream &out) const |
| Writes a detailed text representation of this object to the given output stream. 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... | |
Static Public Member Functions | |
| static Isomorphism< dim > | identity (unsigned nSimplices) |
| Returns the identity isomorphism for the given number of simplices. More... | |
| static Isomorphism< dim > | random (unsigned nSimplices, bool even=false) |
| Returns a random isomorphism for the given number of simplices. More... | |
Protected Attributes | |
| unsigned | nSimplices_ |
| The number of simplices in the source triangulation. More... | |
| int * | simpImage_ |
| Stores the simplex of the destination triangulation that each simplex of the source triangulation maps to. More... | |
| Perm< dim+1 > * | facetPerm_ |
| The permutation applied to the facets of each source simplex. More... | |
Provides core functionality for combinatorial isomorphisms between dim-manifold triangulations.
Such an isomorphism is represented by the class Isomorphism<dim>, which uses this as a base class. End users should not need to refer to IsomorphismBase directly.
See the Isomorphism class notes for further information.
| dim | the dimension of the triangulations that this isomorphism class works with. 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.