Regina Calculation Engine
|
A class that bans and marks disc types associated with torus boundary components.
More...
#include <enumerate/treeconstraint.h>
Protected Member Functions | |
BanTorusBoundary (const Triangulation< 3 > *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 IntType > | |
void | enforceBans (LPData< LPConstraint, IntType > &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 Triangulation< 3 > * | tri_ |
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... | |
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.
true
in standard normal or almost normal coordinates.See the BanConstraintBase class notes for details on all member functions and structs.
|
inlineprotected |
Constructs and initialises the banned_ and marked_ arrays to be entirely false
, as described in the BanConstraintBase superclass constructor.
tri | the triangulation with which we are working. |
coords | the normal or almost normal coordinate system in which we are working. This must be one of NS_QUAD, NS_STANDARD, NS_AN_QUAD_OCT, or NS_AN_STANDARD. |
|
inlineprotectedinherited |
Enforces all bans described by this class in the given tableaux.
Specifically, for each banned coordinate, this routine calls LPData::constrainZero() on the corresponding coordinate column.
lp | the tableaux in which to enforce the bans. |
|
protectedinherited |
Indicates which columns of a tableaux correspond to banned coordinates (e.g., banned normal disc types).
The size of this array is the number of normal or angle structure coordinates (so we explicitly exclude extra columns that arise from the template parameter LPConstraint.
|
protectedinherited |
The normal or almost normal coordinate system in which we are working.
This must be one of NS_QUAD, NS_STANDARD, NS_AN_QUAD_OCT, NS_AN_STANDARD, or NS_ANGLE.
|
protectedinherited |
Indicates which columns of a tableaux correspond to marked coordinates (e.g., marked normal disc types).
The size of this array is the number of normal or angle structure coordinates (so we explicitly exclude extra columns that arise from the template parameter LPConstraint.
|
protectedinherited |
The triangulation with which we are working.