Regina Calculation Engine
Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
regina::BanTorusBoundary Class Reference

A class that bans and marks disc types associated with torus boundary components. More...

#include <enumerate/ntreeconstraint.h>

Inheritance diagram for regina::BanTorusBoundary:
regina::BanConstraintBase

Protected Member Functions

 BanTorusBoundary (const NTriangulation *tri, int coords)
 Constructs and initialises the banned_ and marked_ arrays to be entirely false, as described in the BanConstraintBase superclass constructor. More...
 
void init (const int *columnPerm)
 
template<class LPConstraint , typename Integer >
void enforceBans (LPData< LPConstraint, Integer > &lp) const
 Enforces all bans described by this class in the given tableaux. More...
 

Static Protected Member Functions

static bool supported (NormalCoords coords)
 

Protected Attributes

const NTriangulationtri_
 The triangulation with which we are working. More...
 
int coords_
 The normal or almost normal coordinate system in which we are working. More...
 
bool * banned_
 Indicates which columns of a tableaux correspond to banned coordinates (e.g., banned normal disc types). More...
 
bool * marked_
 Indicates which columns of a tableaux correspond to marked coordinates (e.g., marked normal disc types). More...
 

Detailed Description

A class that bans and marks disc types associated with torus boundary components.

Here we refer exclusively to real torus boundary components (not ideal vertices with torus cusps). Specifically:

This class is only for use with normal or almost normal surfaces, not angle structures.

Warning
As with BanBoundary, this class only works as expected in standard normal or almost normal coordinates. In quadrilateral or quadrilateral-octagon coordinates it will only ban quadrilaterals or octagons that touch torus boundaries, but it will still allow triangles that meet torus boundaries (since triangle types are not counted in these coordinate systems). The supported() routine will only return true in standard normal or almost normal coordinates.

See the BanConstraintBase class notes for details on all member functions and structs.

Warning
The API for this class has not yet been finalised. This means that the class interface may change in new versions of Regina, without maintaining backward compatibility. If you use this class directly in your own code, please watch the detailed changelogs upon new releases to see if you need to make changes to your code.
Python:
Not present.

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

Copyright © 1999-2014, 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@debian.org).