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


A do-nothing class that bans no coordinates and marks no coordinates. More...

#include <enumerate/treeconstraint.h>

Inheritance diagram for regina::BanNone:
regina::BanConstraintBase

Protected Member Functions

 BanNone (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 *)
 
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...
 

Detailed Description


A do-nothing class that bans no coordinates and marks no 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.

Constructor & Destructor Documentation

◆ BanNone()

regina::BanNone::BanNone ( const Triangulation< 3 > *  tri,
int  coords 
)
inlineprotected

Constructs and initialises the banned_ and marked_ arrays to be entirely false, as described in the BanConstraintBase superclass constructor.

Although one should normally call the routine init() before using this object, for BanNone this is not strictly necessary since there are no coordinates to ban or mark.

Parameters
trithe triangulation with which we are working.
coordsthe 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.

Member Function Documentation

◆ enforceBans()

template<class LPConstraint , typename IntType >
void regina::BanConstraintBase::enforceBans ( LPData< LPConstraint, IntType > &  lp) const
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.

Parameters
lpthe tableaux in which to enforce the bans.

Member Data Documentation

◆ banned_

bool* regina::BanConstraintBase::banned_
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.

◆ coords_

int regina::BanConstraintBase::coords_
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.

◆ marked_

bool* regina::BanConstraintBase::marked_
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.

◆ tri_

const Triangulation<3>* regina::BanConstraintBase::tri_
protectedinherited

The triangulation with which we are working.


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

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).