Regina 7.3 Calculation Engine
|
Specifies a single triangular prism in a tetrahedron. More...
#include <surface/prism.h>
Public Member Functions | |
PrismSpec ()=default | |
Creates a new uninitialised prism specifier. More... | |
PrismSpec (size_t newTetIndex, int newEdge) | |
Creates a new prism specifier containing the given values. More... | |
PrismSpec (const PrismSpec &cloneMe)=default | |
Creates a new prism specifier that is a clone of the given specifier. More... | |
PrismSpec & | operator= (const PrismSpec &cloneMe)=default |
Copies the values from the given prism specifier into this specifier. More... | |
bool | operator== (const PrismSpec &other) const |
Determines if this and the given prism specifier contain identical information. More... | |
bool | operator!= (const PrismSpec &other) const |
Determines if this and the given prism specifier contain different information. More... | |
Public Attributes | |
size_t | tetIndex |
The index in the triangulation of the tetrahedron containing the prism. More... | |
int | edge |
The edge of the tetrahedron that is contained in this prism. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const PrismSpec &spec) |
Writes the given prism specifier to the given output stream. More... | |
Specifies a single triangular prism in a tetrahedron.
If a tetrahedron contains normal quads, slicing along these quads splits the tetrahedron into two triangular prisms (and possibly some additional product regions). Each triangular prism contains two of the vertices and one of the edges of the original tetrahedron.
These objects are small enough to pass by value and swap with std::swap(), with no need for any specialised move operations or swap functions.
|
default |
Creates a new uninitialised prism specifier.
|
inline |
Creates a new prism specifier containing the given values.
newTetIndex | the index in the triangulation of the tetrahedron containing the prism. |
newEdge | the edge of the tetrahedron that is contained in this prism; this must be between 0 and 5 inclusive. |
|
default |
Creates a new prism specifier that is a clone of the given specifier.
cloneMe | the prism specifier to clone. |
|
inline |
Determines if this and the given prism specifier contain different information.
other | the prism specifier to compare with this. |
true
if and only if this and the given prism specifier contain different information. Copies the values from the given prism specifier into this specifier.
cloneMe | the prism specifier whose values should be copied. |
|
inline |
Determines if this and the given prism specifier contain identical information.
other | the prism specifier to compare with this. |
true
if and only if this and the given prism specifier contain identical information.
|
friend |
Writes the given prism specifier to the given output stream.
The prism specifier will be written as a pair (tetIndex, edge)
.
out | the output stream to which to write. |
spec | the prism specifier to write. |
int regina::PrismSpec::edge |
The edge of the tetrahedron that is contained in this prism.
size_t regina::PrismSpec::tetIndex |
The index in the triangulation of the tetrahedron containing the prism.