Regina Calculation Engine
Static Public Member Functions | List of all members
regina::Example< 2 > Class Template Reference

Offers routines for constructing a variety of sample 2-dimensional triangulations. More...

#include <triangulation/example2.h>

Inheritance diagram for regina::Example< 2 >:
regina::detail::ExampleBase< 2 > regina::detail::ExampleFromLowDim< dim,(dim > 2)>

Static Public Member Functions

static Triangulation< 2 > * orientable (unsigned genus, unsigned punctures)
 Returns a triangulation of the given orientable surface. More...
 
static Triangulation< 2 > * nonOrientable (unsigned genus, unsigned punctures)
 Returns a triangulation of the given non-orientable surface. More...
 
static Triangulation< 2 > * sphereTetrahedron ()
 Returns the four-triangle 2-sphere formed from the boundary of a tetrahedron. More...
 
static Triangulation< 2 > * sphereOctahedron ()
 Returns the eight-triangle 2-sphere formed from the boundary of an octahedron. More...
 
static Triangulation< 2 > * disc ()
 Returns a one-triangle disc. More...
 
static Triangulation< 2 > * annulus ()
 Returns a two-triangle annulus. More...
 
static Triangulation< 2 > * mobius ()
 Returns a one-triangle Mobius band. More...
 
static Triangulation< 2 > * torus ()
 Returns a two-triangle torus. More...
 
static Triangulation< 2 > * rp2 ()
 Returns a two-triangle projective plane. More...
 
static Triangulation< 2 > * kb ()
 Returns a two-triangle Klein bottle. More...
 
static Triangulation< dim > * doubleCone (const Triangulation< dim-1 > &base)
 Returns a double cone over the given (dim-1)-dimensional triangulation. More...
 
static Triangulation< dim > * singleCone (const Triangulation< dim-1 > &base)
 Returns a single cone over the given (dim-1)-dimensional triangulation. More...
 
static Triangulation< dim > * sphere ()
 Closed Triangulations. More...
 
static Triangulation< dim > * simplicialSphere ()
 Returns the standard (dim+2)-simplex triangulation of the dim-sphere as the boundary of a (dim+1)-simplex. More...
 
static Triangulation< dim > * sphereBundle ()
 Returns a two-simplex triangulation of the product space S^(dim-1) x S^1. More...
 
static Triangulation< dim > * twistedSphereBundle ()
 Returns a two-simplex triangulation of the twisted product space S^(dim-1) x~ S^1. More...
 
static Triangulation< dim > * ball ()
 Bounded Triangulations. More...
 
static Triangulation< dim > * ballBundle ()
 Returns a triangulation of the product space B^(dim-1) x S^1. More...
 
static Triangulation< dim > * twistedBallBundle ()
 Returns a triangulation of the twisted product space B^(dim-1) x~ S^1. More...
 

Detailed Description

template<>
class regina::Example< 2 >

Offers routines for constructing a variety of sample 2-dimensional triangulations.

This is a specialisation of the generic Example class template; see the Example template documentation for a general overview of how the example triangulation classes work.

This 2-dimensional specialisation offers significant extra functionality, by providing several more hard-coded constructions.

Member Function Documentation

◆ annulus()

static Triangulation<2>* regina::Example< 2 >::annulus ( )
static

Returns a two-triangle annulus.

This is isomorphic to the triangulation returned by the generic routine ballBundle(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ ball()

Triangulation< dim > * regina::detail::ExampleBase< dim >::ball ( )
staticinherited

Bounded Triangulations.

Returns a one-simplex triangulation of the dim-ball.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ ballBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::ballBundle ( )
staticinherited

Returns a triangulation of the product space B^(dim-1) x S^1.

This will use one simplex in odd dimensions, or two simplices in even dimensions.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ disc()

static Triangulation<2>* regina::Example< 2 >::disc ( )
static

Returns a one-triangle disc.

This is isomorphic to the triangulation returned by the generic routine ball(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ doubleCone()

Triangulation< dim > * regina::detail::ExampleFromLowDim< dim, available >::doubleCone ( const Triangulation< dim-1 > &  base)
staticinherited

Returns a double cone over the given (dim-1)-dimensional triangulation.

If the given triangulation represents the manifold M, then this returns an ideal triangulation of the product M x I (with two ideal boundary components). A copy of the original triangulation base can be found at the centre of this construction, formed from the dim-simplices that sit between the two ideal vertices.

Note that, as a special case, if M is either a sphere or a ball, then this routine returns a (dim)-sphere or a (dim)-ball (since "ideal spheres" and "ideal balls" just become regular internal and boundary vertices respectively).

This construction is essentially the suspension of the triangulation base. We do not call it this however, since from a topological point of view, to form the ideal triangulation of M x I we "remove" the vertices at the apex of each cone.

Warning
If the given (dim-1)-dimensional triangulation has any boundary whatsoever (either real or ideal), then unless it is a (dim-1)-ball, you will obtain an invalid dim-manifold triangulation as a result.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ kb()

static Triangulation<2>* regina::Example< 2 >::kb ( )
static

Returns a two-triangle Klein bottle.

This is isomorphic to the triangulation returned by the generic routine twistedSphereBundle(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ mobius()

static Triangulation<2>* regina::Example< 2 >::mobius ( )
static

Returns a one-triangle Mobius band.

This is isomorphic to the triangulation returned by the generic routine twistedBallBundle(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ nonOrientable()

static Triangulation<2>* regina::Example< 2 >::nonOrientable ( unsigned  genus,
unsigned  punctures 
)
static

Returns a triangulation of the given non-orientable surface.

Parameters
genusthe non-orientable genus of the surface, i.e., the number of crosscaps that it contains; this must be greater than or equal to one.
puncturesthe number of punctures in the surface; this must be greater than or equal to zero.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ orientable()

static Triangulation<2>* regina::Example< 2 >::orientable ( unsigned  genus,
unsigned  punctures 
)
static

Returns a triangulation of the given orientable surface.

Parameters
genusthe genus of the surface; this must be greater than or equal to zero.
puncturesthe number of punctures in the surface; this must be greater than or equal to zero.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ rp2()

static Triangulation<2>* regina::Example< 2 >::rp2 ( )
static

Returns a two-triangle projective plane.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ simplicialSphere()

Triangulation< dim > * regina::detail::ExampleBase< dim >::simplicialSphere ( )
staticinherited

Returns the standard (dim+2)-simplex triangulation of the dim-sphere as the boundary of a (dim+1)-simplex.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ singleCone()

Triangulation< dim > * regina::detail::ExampleFromLowDim< dim, available >::singleCone ( const Triangulation< dim-1 > &  base)
staticinherited

Returns a single cone over the given (dim-1)-dimensional triangulation.

If the given triangulation represents the manifold M, then this returns a triangulation of the product M x I that has one real boundary component and one ideal boundary component. The triangulation of the real boundary component will be identical to the original (dim-1)-dimensional triangulation base.

Warning
If the given (dim-1)-dimensional triangulation has any boundary whatsoever (either real or ideal), then unless it is a (dim-1)-ball, you will obtain an invalid dim-manifold triangulation as a result.
Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphere()

Triangulation< dim > * regina::detail::ExampleBase< dim >::sphere ( )
staticinherited

Closed Triangulations.

Returns a two-simplex triangulation of the dim-sphere.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphereBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::sphereBundle ( )
staticinherited

Returns a two-simplex triangulation of the product space S^(dim-1) x S^1.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphereOctahedron()

static Triangulation<2>* regina::Example< 2 >::sphereOctahedron ( )
static

Returns the eight-triangle 2-sphere formed from the boundary of an octahedron.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ sphereTetrahedron()

static Triangulation<2>* regina::Example< 2 >::sphereTetrahedron ( )
static

Returns the four-triangle 2-sphere formed from the boundary of a tetrahedron.

This is isomorphic to the triangulation returned by the generic routine simplicialSphere(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ torus()

static Triangulation<2>* regina::Example< 2 >::torus ( )
static

Returns a two-triangle torus.

This is isomorphic to the triangulation returned by the generic routine sphereBundle(), though it will have a different packet label.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ twistedBallBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::twistedBallBundle ( )
staticinherited

Returns a triangulation of the twisted product space B^(dim-1) x~ S^1.

This will use one simplex in even dimensions, or two simplices in odd dimensions.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

◆ twistedSphereBundle()

Triangulation< dim > * regina::detail::ExampleBase< dim >::twistedSphereBundle ( )
staticinherited

Returns a two-simplex triangulation of the twisted product space S^(dim-1) x~ S^1.

Returns
a newly constructed triangulation, which must be destroyed by the caller of this routine.

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