A normal surface vector using transversely oriented quadrilateral coordinates.
More...
|
| | NNormalSurfaceVectorOrientedQuad (size_t length) |
| | Creates a new vector all of whose entries are initialised to zero. More...
|
| |
| | NNormalSurfaceVectorOrientedQuad (const NVector< NLargeInteger > &cloneMe) |
| | Creates a new vector that is a clone of the given vector. More...
|
| |
| virtual NNormalSurfaceVector * | makeMirror (NTriangulation *triang) const |
| | Creates a new mirror vector corresponding to this vector. More...
|
| |
| virtual const NVertex * | isVertexLink (NTriangulation *triang) const |
| | Determines if a rational multiple of the normal surface represented is the link of a single vertex. More...
|
| |
| virtual NLargeInteger | getQuadCoord (unsigned long tetIndex, int quadType, NTriangulation *triang) const |
| | Returns the number of quadrilateral discs of the given type in this normal surface. More...
|
| |
| virtual NLargeInteger | getOrientedQuadCoord (unsigned long tetIndex, int quadType, NTriangulation *triang, bool orientation) const |
| | Returns the number of oriented quadrilateral discs of the given type in this normal surface. More...
|
| |
| virtual NLargeInteger | getOctCoord (unsigned long tetIndex, int octType, NTriangulation *triang) const |
| | Returns the number of octagonal discs of the given type in this normal surface. More...
|
| |
| | NNormalSurfaceVectorMirrored (size_t length) |
| | Creates a new vector all of whose entries are initialised to zero. More...
|
| |
| | NNormalSurfaceVectorMirrored (const NVector< NLargeInteger > &cloneMe) |
| | Creates a new vector that is a clone of the given vector. More...
|
| |
| | NNormalSurfaceVectorMirrored (const NNormalSurfaceVectorMirrored &cloneMe) |
| | Creates a new vector that is a clone of the given vector. More...
|
| |
| virtual | ~NNormalSurfaceVectorMirrored () |
| | Destroys this vector and its mirror if appropriate. More...
|
| |
| virtual NLargeInteger | getTriangleCoord (unsigned long tetIndex, int vertex, NTriangulation *triang) const |
| | Returns the number of triangular discs of the given type in this normal surface. More...
|
| |
| virtual NLargeInteger | getOrientedTriangleCoord (unsigned long tetIndex, int vertex, NTriangulation *triang, bool orientation) const |
| | Returns the number of oriented triangular discs of the given type in this normal surface. More...
|
| |
| virtual NLargeInteger | getEdgeWeight (unsigned long edgeIndex, NTriangulation *triang) const |
| | Returns the number of times this normal surface crosses the given edge. More...
|
| |
| virtual NLargeInteger | getTriangleArcs (unsigned long triIndex, int triVertex, NTriangulation *triang) const |
| | Returns the number of arcs in which this normal surface intersects the given triangle in the given direction. More...
|
| |
| | NNormalSurfaceVector (size_t length) |
| | Creates a new vector all of whose entries are initialised to zero. More...
|
| |
| | NNormalSurfaceVector (const NVector< NLargeInteger > &cloneMe) |
| | Creates a new vector that is a clone of the given vector. More...
|
| |
| virtual | ~NNormalSurfaceVector () |
| | A virtual destructor. More...
|
| |
| virtual NNormalSurfaceVector * | clone () const =0 |
| | Creates a newly allocated clone of this vector. More...
|
| |
| virtual bool | allowsAlmostNormal () const =0 |
| | Determines if the specific underlying coordinate system allows for almost normal surfaces, that is, allows for octagonal discs. More...
|
| |
| virtual bool | allowsSpun () const =0 |
| | Determines if the specific underlying coordinate system allows for spun-normal surfaces; that is, surfaces with infinitely many triangles. More...
|
| |
| virtual bool | allowsOriented () const =0 |
| | Determines if the specific underlying coordinate system allows for transversely oriented normal surfaces. More...
|
| |
| virtual bool | hasMultipleOctDiscs (NTriangulation *triang) const |
| | Determines if this normal surface has more than one octagonal disc. More...
|
| |
| virtual bool | isCompact (NTriangulation *triang) const |
| | Determines if the normal surface represented is compact (has finitely many discs). More...
|
| |
| virtual bool | isVertexLinking (NTriangulation *triang) const |
| | Determines if the normal surface represented is vertex linking. More...
|
| |
virtual std::pair< const NEdge
*, const NEdge * > | isThinEdgeLink (NTriangulation *triang) const |
| | Determines if a rational multiple of the normal surface represented is the thin link of a single edge. More...
|
| |
| virtual bool | isSplitting (NTriangulation *triang) const |
| | Determines if the normal surface represented is a splitting surface in the given triangulation. More...
|
| |
| virtual NLargeInteger | isCentral (NTriangulation *triang) const |
| | Determines if the normal surface represented is a central surface in the given triangulation. More...
|
| |
| NLargeInteger | getFaceArcs (unsigned long triIndex, int triVertex, NTriangulation *triang) const |
| | A deprecated alias for getTriangleArcs(). More...
|
| |
| | NRay (size_t length) |
| | Creates a new ray all of whose coordinates are initialised to zero. More...
|
| |
| | NRay (const NVector< NLargeInteger > &cloneMe) |
| | Creates a new ray that is a clone of the given ray. More...
|
| |
| void | scaleDown () |
| | Scales this vector down by the greatest common divisor of all its elements. More...
|
| |
| void | negate () |
| | Negates every element of this vector. More...
|
| |
| | NVector (size_t newVectorSize) |
| | Creates a new vector. More...
|
| |
| | NVector (size_t newVectorSize, const NLargeInteger &initValue) |
| | Creates a new vector and initialises every element to the given value. More...
|
| |
| | NVector (const NVector< NLargeInteger > &cloneMe) |
| | Creates a new vector that is a clone of the given vector. More...
|
| |
| | ~NVector () |
| | Destroys this vector. More...
|
| |
| size_t | size () const |
| | Returns the number of elements in the vector. More...
|
| |
| const NLargeInteger & | operator[] (size_t index) const |
| | Returns the element at the given index in the vector. More...
|
| |
| void | setElement (size_t index, const NLargeInteger &value) |
| | Sets the element at the given index in the vector to the given value. More...
|
| |
| bool | operator== (const NVector< NLargeInteger > &compare) const |
| | Determines if this vector is equal to the given vector. More...
|
| |
| NVector< NLargeInteger > & | operator= (const NVector< NLargeInteger > &cloneMe) |
| | Sets this vector equal to the given vector. More...
|
| |
| void | operator+= (const NVector< NLargeInteger > &other) |
| | Adds the given vector to this vector. More...
|
| |
| void | operator-= (const NVector< NLargeInteger > &other) |
| | Subtracts the given vector from this vector. More...
|
| |
| void | operator*= (const NLargeInteger &factor) |
| | Multiplies this vector by the given scalar. More...
|
| |
| NLargeInteger | operator* (const NVector< NLargeInteger > &other) const |
| | Calculates the dot product of this vector and the given vector. More...
|
| |
| void | negate () |
| | Negates every element of this vector. More...
|
| |
| NLargeInteger | norm () const |
| | Returns the norm of this vector. More...
|
| |
| NLargeInteger | elementSum () const |
| | Returns the sum of all elements of this vector. More...
|
| |
| void | addCopies (const NVector< NLargeInteger > &other, const NLargeInteger &multiple) |
| | Adds the given multiple of the given vector to this vector. More...
|
| |
| void | subtractCopies (const NVector< NLargeInteger > &other, const NLargeInteger &multiple) |
| | Subtracts the given multiple of the given vector to this vector. More...
|
| |
A normal surface vector using transversely oriented quadrilateral coordinates.
If there are t tetrahedra in the underlying triangulation, there must be precisely 6t coordinates. For each i, coordinates 2i and 2i+1 represent the true and false orientations for coordinate i in the 3t-dimensional quadrilateral coordinate system. See NNormalSurfaceVectorQuad for further details.
- Warning
- Support for transversely oriented normal surfaces is still experimental, and some features will break (e.g., testing connectedness, disjointness or embeddedness).
- Python:
- Not present.