Regina Calculation Engine
Classes | Public Types | Static Public Attributes | Protected Attributes | List of all members
regina::detail::TriangulationBase< dim > Class Template Reference

Provides core functionality for dim-dimensional triangulations. More...

#include <triangulation/detail/triangulation.h>

Inheritance diagram for regina::detail::TriangulationBase< dim >:
regina::Triangulation< 4 >

Classes

class  TopologyLock
 Creates a temporary lock on the topological properties of the given triangulation. More...
 

Public Types

typedef std::vector< Simplex< dim > * >::const_iterator SimplexIterator
 Used to iterate through top-dimensional simplices. More...
 
typedef std::vector< Component< dim > * >::const_iterator ComponentIterator
 Used to iterate through connected components. More...
 
typedef std::vector< BoundaryComponent< dim > * >::const_iterator BoundaryComponentIterator
 Used to iterate through boundary components. More...
 

Public Member Functions

Constructors and Destructors
 TriangulationBase ()
 Default constructor. More...
 
 TriangulationBase (const TriangulationBase< dim > &copy)
 Creates a new copy of the given triangulation. More...
 
 TriangulationBase (const TriangulationBase< dim > &copy, bool cloneProps)
 Creates a new copy of the given triangulation, with the option of whether or not to clone its computed properties also. More...
 
 ~TriangulationBase ()
 Destroys this triangulation. More...
 

Static Public Attributes

static constexpr int dimension = dim
 A compile-time constant that gives the dimension of the triangulation. More...
 

Protected Attributes

MarkedVector< Simplex< dim > > simplices_
 The top-dimensional simplices that form the triangulation. More...
 
MarkedVector< BoundaryComponent< dim > > boundaryComponents_
 The components that form the boundary of the triangulation. More...
 
bool valid_
 Is this triangulation valid? See isValid() for details on what this means. More...
 
int topologyLock_
 If non-zero, this will cause Triangulation<dim>::clearAllProperties() to preserve any computed properties that related to the manifold (as opposed to the specific triangulation). More...
 

Importing Triangulations

template<int , int , int >
struct FaceCalculator
 
template<int , int >
struct BoundaryComponentCalculator
 
template<int , int >
struct PachnerHelper
 
template<int , int >
class WeakFaceList
 
class regina::detail::XMLTriangulationReaderBase< dim >
 
TriangulationBaseoperator= (const TriangulationBase &)=delete
 
static Triangulation< dim > * fromIsoSig (const std::string &sig)
 Recovers a full triangulation from an isomorphism signature. More...
 
static size_t isoSigComponentSize (const std::string &sig)
 Deduces the number of top-dimensional simplices in a connected triangulation from its isomorphism signature. More...
 
void ensureSkeleton () const
 Ensures that all "on demand" skeletal objects have been calculated. More...
 
bool calculatedSkeleton () const
 Determines whether the skeletal objects and properties of this triangulation have been calculated. More...
 
void calculateSkeleton ()
 Calculates all skeletal objects for this triangulation. More...
 
void clearBaseProperties ()
 Clears all properties that are managed by this base class. More...
 
void swapBaseProperties (TriangulationBase< dim > &other)
 Swaps all properties that are managed by this base class, including skeletal data, with the given triangulation. More...
 
void writeXMLBaseProperties (std::ostream &out) const
 Writes a chunk of XML containing properties of this triangulation. More...
 

Detailed Description

template<int dim>
class regina::detail::TriangulationBase< dim >

Provides core functionality for dim-dimensional triangulations.

Such a triangulation is represented by the class Triangulation<dim>, which uses this as a base class. End users should not need to refer to TriangulationBase directly.

See the Triangulation class notes for further information.

Note that this class does not derive from Output. This is to avoid clashes with the output code inherited from Packet. Specifically:

Python:\n This base class is not present, but the "end user" class
Triangulation<dim> is.
Template Parameters
dimthe dimension of the 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).