Regina 7.4 Calculation Engine
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.
 

Enumerations

enum class  regina::SurfaceExport {
  regina::SurfaceExport::Name = 0x0001 , regina::SurfaceExport::Euler = 0x0002 , regina::SurfaceExport::Orient = 0x0004 , regina::SurfaceExport::Sides = 0x0008 ,
  regina::SurfaceExport::Bdry = 0x0010 , regina::SurfaceExport::Link = 0x0020 , regina::SurfaceExport::Type = 0x0040 , regina::SurfaceExport::None = 0 ,
  regina::SurfaceExport::AllButName = 0x007e , regina::SurfaceExport::All = 0x007f
}
 Used to describe a field, or a set of fields, that can be exported alongside a normal surface list. More...
 

Functions

Flags< SurfaceExportregina::operator| (SurfaceExport lhs, SurfaceExport rhs)
 Returns the bitwise OR of the two given flags.
 
void regina::swap (NormalSurfaces &lhs, NormalSurfaces &rhs)
 Swaps the contents of the two given lists.
 
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.
 
ValidityConstraints regina::makeEmbeddedConstraints (const Triangulation< 3 > &triangulation, NormalCoords coords)
 Generates the validity constraints representing the condition that normal surfaces be embedded.
 

Variables

static constexpr SurfaceExport regina::surfaceExportName
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportOrient
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportEuler
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportSides
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportBdry
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportLink
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportType
 A deprecated constant indicating one of the fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportNone
 A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportAllButName
 A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.
 
static constexpr SurfaceExport regina::surfaceExportAll
 A deprecated constant indicating one of the sets of fields that can be exported alongside a normal surface list.
 

Detailed Description

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