Regina 7.0 Calculation Engine
Classes | Namespaces | Typedefs | Enumerations | Functions
normalsurfaces.h File Reference

Implements a collection of normal surfaces in a 3-manifold triangulation. More...

#include <algorithm>
#include <iterator>
#include <optional>
#include <vector>
#include "regina-core.h"
#include "enumerate/validityconstraints.h"
#include "maths/matrix.h"
#include "packet/packet.h"
#include "progress/progresstracker.h"
#include "surface/normalsurface.h"
#include "surface/normalflags.h"
#include "surface/normalcoords.h"
#include "utilities/exception.h"

Classes

class  regina::NormalSurfaces
 A collection of normal surfaces in a 3-manifold triangulation. More...
 
class  regina::NormalSurfaces::VectorIterator
 A bidirectional iterator that runs through the raw vectors for surfaces in this list. More...
 

Namespaces

namespace  regina
 Contains the entire Regina calculation engine.
 

Typedefs

using regina::SurfaceExport = regina::Flags< SurfaceExportFields >
 A set of fields to export alongside a normal surface list. More...
 

Enumerations

enum  regina::SurfaceExportFields {
  regina::surfaceExportName = 0x0001 , regina::surfaceExportEuler = 0x0002 , regina::surfaceExportOrient = 0x0004 , regina::surfaceExportSides = 0x0008 ,
  regina::surfaceExportBdry = 0x0010 , regina::surfaceExportLink = 0x0020 , regina::surfaceExportType = 0x0040 , regina::surfaceExportNone = 0 ,
  regina::surfaceExportAllButName = 0x007e , regina::surfaceExportAll = 0x007f
}
 Used to describe a field, or a set of fields, that can be exported alongside a normal surface list. More...
 

Functions

SurfaceExport regina::operator| (SurfaceExportFields lhs, SurfaceExportFields rhs)
 Returns the bitwise OR of the two given flags. More...
 
void regina::swap (NormalSurfaces &lhs, NormalSurfaces &rhs)
 Swaps the contents of the two given lists. More...
 
MatrixInt regina::makeMatchingEquations (const Triangulation< 3 > &triangulation, NormalCoords coords)
 Generates the set of normal surface matching equations for the given triangulation using the given coordinate system. More...
 
ValidityConstraints regina::makeEmbeddedConstraints (const Triangulation< 3 > &triangulation, NormalCoords coords)
 Generates the validity constraints representing the condition that normal surfaces be embedded. More...
 

Detailed Description

Implements a collection of normal surfaces in a 3-manifold triangulation.


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