Regina Calculation Engine
|
Represents a combinatorial isomorphism from one 2-manifold triangulation into another. More...
#include <dim2/dim2isomorphism.h>
Public Member Functions | |
Dim2Isomorphism (unsigned sourceTriangles) | |
Creates a new isomorphism with no initialisation. More... | |
Dim2Isomorphism (const Dim2Isomorphism &cloneMe) | |
Creates a new isomorphism identical to the given isomorphism. More... | |
unsigned | getSourceTriangles () const |
Returns the number of triangles in the source triangulation associated with this isomorphism. More... | |
int & | triImage (unsigned sourceTriangle) |
Determines the image of the given source triangle under this isomorphism. More... | |
int | triImage (unsigned sourceTriangle) const |
Determines the image of the given source triangle under this isomorphism. More... | |
NPerm3 & | edgePerm (unsigned sourceTriangle) |
Returns a read-write reference to the permutation that is applied to the three edges of the given source triangle under this isomorphism. More... | |
NPerm3 | edgePerm (unsigned sourceTriangle) const |
Determines the permutation that is applied to the three edges of the given source triangle under this isomorphism. More... | |
![]() | |
NGenericIsomorphism (unsigned nSimplices) | |
Creates a new isomorphism with no initialisation. More... | |
NGenericIsomorphism (const NGenericIsomorphism &cloneMe) | |
Creates a new isomorphism identical to the given isomorphism. More... | |
~NGenericIsomorphism () | |
Destroys this isomorphism. More... | |
unsigned | getSourceSimplices () 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 & | 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 | facetPerm (unsigned sourceSimp) const |
Determines the permutation that is applied to the (dim + 1) facets of the given source simplex under this isomorphism. More... | |
NFacetSpec< dim > | operator[] (const NFacetSpec< 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 * | apply (const Triangulation *original) const |
This NGenericIsomorphism object represents a combinatorial identification from a triangulation T to a triangulation U. More... | |
void | applyInPlace (Triangulation *tri) const |
Applies this isomorphism to the given triangulation, modifying the given triangulation directly. More... | |
void | writeTextShort (std::ostream &out) const |
Writes this object in short text format to the given output stream. More... | |
void | writeTextLong (std::ostream &out) const |
Writes this object in long text format to the given output stream. More... | |
![]() | |
ShareableObject () | |
Default constructor that does nothing. More... | |
virtual | ~ShareableObject () |
Default destructor that does nothing. More... | |
std::string | str () const |
Returns the output from writeTextShort() as a string. More... | |
std::string | toString () const |
A deprecated alias for str(), which returns the output from writeTextShort() as a string. More... | |
std::string | detail () const |
Returns the output from writeTextLong() as a string. More... | |
std::string | toStringLong () const |
A deprecated alias for detail(), which returns the output from writeTextLong() as a string. More... | |
Additional Inherited Members | |
![]() | |
typedef DimTraits< dim > ::Isomorphism | Isomorphism |
The isomorphism class used by triangulations of this specific 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... | |
![]() | |
static Isomorphism * | random (unsigned nSimplices) |
Returns a random isomorphism for the given number of simplices. More... | |
![]() | |
noncopyable () | |
A constructor which does nothing. More... | |
~noncopyable () | |
A destructor which does nothing. More... | |
![]() | |
unsigned | nSimplices_ |
The number of simplices in the source triangulation. More... | |
int * | simpImage_ |
The simplex of the destination triangulation that each simplex of the source triangulation maps to. More... | |
Perm * | facetPerm_ |
The permutation applied to the facets of each source simplex. More... | |
Represents a combinatorial isomorphism from one 2-manifold triangulation into another.
In essence, a combinatorial isomorphism from triangulation T to triangulation U is a one-to-one map from the triangles of T to the triangles of U that allows relabelling of both the triangles and their edges (or equivalently, their vertices), and that preserves gluings across adjacent triangles.
More precisely: An isomorphism consists of (i) a one-to-one map f from the triangles of T to the triangles of U, and (ii) for each triangle S of T, a permutation f_S of the edges (0,1,2) of S, for which the following condition holds:
Isomorphisms can be boundary complete or boundary incomplete. A boundary complete isomorphism satisfies the additional condition:
A boundary complete isomorphism thus indicates that a copy of triangulation T is present as an entire component (or components) of U, whereas a boundary incomplete isomorphism represents an embedding of a copy of triangulation T as a subcomplex of some possibly larger component (or components) of U.
Note that in all cases triangulation U may contain more triangles than triangulation T.
|
inline |
Creates a new isomorphism with no initialisation.
sourceTriangles | the number of triangles in the source triangulation associated with this isomorphism; this may be zero. |
|
inline |
Creates a new isomorphism identical to the given isomorphism.
cloneMe | the isomorphism upon which to base the new isomorphism. |
|
inline |
Returns a read-write reference to the permutation that is applied to the three edges of the given source triangle under this isomorphism.
Edge i of source triangle sourceTriangle will be mapped to edge facetPerm(sourceTriangle)[i]
of triangle simpImage(sourceTriangle)
.
This is a convenience routine specific to two dimensions, and is identical to the dimension-agnostic routine facetPerm().
sourceTriangle | the index of the source triangle containing the original three edges; this must be between 0 and getSourceTriangles()-1 inclusive. |
|
inline |
Determines the permutation that is applied to the three edges of the given source triangle under this isomorphism.
Edge i of source triangle sourceTriangle will be mapped to triangle facetPerm(sourceTriangle)[i]
of triangle simpImage(sourceTriangle)
.
This is a convenience routine specific to two dimensions, and is identical to the dimension-agnostic routine facetPerm().
sourceTriangle | the index of the source triangle containing the original three edges; this must be between 0 and getSourceTriangles()-1 inclusive. |
|
inline |
Returns the number of triangles in the source triangulation associated with this isomorphism.
Note that this is always less than or equal to the number of triangles in the destination triangulation.
This is a convenience routine specific to two dimensions, and is identical to the dimension-agnostic routine getSourceSimplices().
|
inline |
Determines the image of the given source triangle under this isomorphism.
This is a convenience routine specific to two dimensions, and is identical to the dimension-agnostic routine simpImage().
sourceTriangle | the index of the source triangle; this must be between 0 and getSourceSimplices()-1 inclusive. |
|
inline |
Determines the image of the given source triangle under this isomorphism.
This is a convenience routine specific to two dimensions, and is identical to the dimension-agnostic routine simpImage().
sourceTriangle | the index of the source triangle; this must be between 0 and getSourceSimplices()-1 inclusive. |