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

Represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets. More...

#include <census/gluingperms.h>

Public Member Functions

 GluingPerms (const GluingPerms< dim > &cloneMe)
 Creates a new set of gluing permutations that is a clone of the given permutation set. More...
 
 GluingPerms (std::istream &in)
 Reads a new set of gluing permutations from the given input stream. More...
 
virtual ~GluingPerms ()
 Deallocates any memory used by this structure. More...
 
bool inputError () const
 Was an error found during construction from an input stream? More...
 
unsigned size () const
 Returns the total number of simplices under consideration. More...
 
const FacetPairing< dim > * facetPairing () const
 Returns the specific pairing of simplex facets that this set of gluing permutations complements. More...
 
Perm< dim+1 > gluingPerm (const FacetSpec< dim > &source) const
 Returns the gluing permutation associated with the given simplex facet. More...
 
Perm< dim+1 > gluingPerm (unsigned simp, unsigned facet) const
 Returns the gluing permutation associated with the given simplex facet. More...
 
Triangulation< dim > * triangulate () const
 Returns a newly created triangulation as modelled by this set of gluing permutations and the associated simplex facet pairing. More...
 
virtual void dumpData (std::ostream &out) const
 Dumps all internal data in a plain text format to the given output stream. More...
 
GluingPermsoperator= (const GluingPerms &)=delete
 

Protected Member Functions

 GluingPerms (const FacetPairing< dim > *pairing)
 Creates a new permutation set. More...
 
int & permIndex (const FacetSpec< dim > &source)
 Returns the index into array Perm<dim+1>::Sn_1 describing how the the given facet is joined to its partner. More...
 
int & permIndex (unsigned simp, unsigned facet)
 Returns the index into array Perm<dim+1>::Sn_1 describing how the the given facet is joined to its partner. More...
 
const int & permIndex (const FacetSpec< dim > &source) const
 Returns the index into array Perm<dim+1>::Sn_1 describing how the the given facet is joined to its partner. More...
 
const int & permIndex (unsigned simp, unsigned facet) const
 Returns the index into array Perm<dim+1>::Sn_1 describing how the the given facet is joined to its partner. More...
 
int gluingToIndex (const FacetSpec< dim > &source, const Perm< dim+1 > &gluing) const
 Returns the index into array Perm<dim+1>::Sn_1 corresponding to the given gluing permutation from the given facet to its partner. More...
 
int gluingToIndex (unsigned simp, unsigned facet, const Perm< dim+1 > &gluing) const
 Returns the index into array Perm<dim+1>::Sn_1 corresponding to the given gluing permutation from the given facet to its partner. More...
 
Perm< dim+1 > indexToGluing (const FacetSpec< dim > &source, int index) const
 Returns the gluing permutation from the given facet to its partner that corresponds to the given index into array Perm<dim+1>::Sn_1. More...
 
Perm< dim+1 > indexToGluing (unsigned simp, unsigned facet, int index) const
 Returns the gluing permutation from the given facet to its partner that corresponds to the given index into array Perm<dim+1>::Sn_1. More...
 

Protected Attributes

const FacetPairing< dim > * pairing_
 The facet pairing that this permutation set complements. More...
 
int * permIndices_
 The index into array Perm<dim+1>::Sn_1 describing how each simplex facet is glued to its partner. More...
 
bool inputError_
 Has an error occurred during construction from an input stream? More...
 

Detailed Description

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

Represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets.

Given a pairwise matching of facets (as described by class FacetPairing<dim>), each facet that is matched with some other facet will have an associated permutation of (dim + 1) elements.

If a facet is matched with some other facet, the two associated permutations in this set will be inverses. If a facet is left deliberately unmatched, it will have no associated permutation in this set.

Such a set of permutations models part of the structure of a triangulation, in which each simplex facet that is glued to another facet has a corresponding gluing permutation (and the matched facet has the inverse gluing permutation).

Headers:\n Parts of this template class are implemented in a separate header
(gluingperms-impl.h), which is not included automatically by this file. However, typical end users should never need this extra header, since Regina's calculation engine already includes explicit instantiations for standard dimensions.
Python:\n Not available.
Template Parameters
dimthe dimension of the underlying triangulation that is being modelled. This must be between 2 and 15 inclusive.

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

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