Regina Calculation Engine
Public Member Functions | List of all members
regina::Isomorphism< dim > Class Template Reference

Represents a combinatorial isomorphism from one dim-manifold triangulation into another. More...

#include <triangulation/generic.h>

Public Member Functions

 Isomorphism (unsigned nSimplices)
 Creates a new isomorphism with no initialisation. More...
 
 Isomorphism (const Isomorphism &src)=default
 Creates a copy of the given isomorphism. More...
 
 Isomorphism (Isomorphism &&src) noexcept=default
 Moves the given isomorphism into this new isomorphism. More...
 

Detailed Description

template<int dim>
class regina::Isomorphism< dim >

Represents a combinatorial isomorphism from one dim-manifold triangulation into another.

In essence, a combinatorial isomorphism from triangulation T to triangulation U is a one-to-one map from the simplices of T to the simplices of U that allows relabelling of both the simplices and their facets (or equivalently, their vertices), and that preserves gluings across adjacent simplices.

More precisely: An isomorphism consists of (i) a one-to-one map f from the simplices of T to the simplices of U, and (ii) for each simplex S of T, a permutation fS of the facets (0,...,dim) 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 for all types of isomorphism, triangulation U is allowed to contain more simplices than triangulation T.

This class is designed to avoid deep copies wherever possible. In particular, it supports C++11 move constructors and move assignment, and calling routines that return an Isomorphism (e.g., identity() and random()) should not perform any unwanted deep copies.

Python:\n Python does not support templates. Instead
this class can be used by appending the dimension as a suffix (e.g., Isomorphism2 and Isomorphism3 for dimensions 2 and 3).
Template Parameters
dimThe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

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

Copyright © 1999-2018, 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).