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

Provides core functionality for combinatorial isomorphisms between dim-manifold triangulations. More...

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

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

## Public Member Functions

| IsomorphismBase (unsigned nSimplices)
| Creates a new isomorphism with no initialisation. More...
| IsomorphismBase (const IsomorphismBase< dim > &copy)
| Creates a new copy of the given isomorphism. More...
| ~IsomorphismBase ()
| Destroys 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)
| 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...

## Detailed Description

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

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.

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

Template Parameters

  dim | the dimension of the triangulations that this isomorphism class works with. This must be between 2 and 15 inclusive.

## Member Function Documentation

## detail()

std::string regina::Output< IsomorphismBase< dim > , false >::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< IsomorphismBase< dim > , false >::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< IsomorphismBase< dim > , false >::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.

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

- triangulation/detail/isomorphism.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).