Regina - Moving from 5.x to 6.x

This page relates only to C++ and Python programmers.

Regina is undergoing major changes to its C++ and Python interfaces. These changes are happening in two stages:

  1. Over many years, Regina's classes and routines have been simplified and improved in many ways, and much of its old code has become unnecessary. Nevertheless, the old classes and routines were kept around until Regina 5.0 so that old scripts would still work. All of this old code was removed in Regina 5.1.
  2. A second (much simpler) round of changes is now underway, mostly to simplify class names and C++ header locations. These changes were implemented in Regina 5.1, though the old class names and headers will be kept around for backward compatibility until Regina 6.0.

How do I fix my code?

Second-round changes (Regina 5.x to 6.x)

There are some general rules that cover most of the changes:

Beyond these general rules, there are some additional changes and/or special cases. These are listed in the table below, along with suggested replacements that you can use instead. Any changes in the behaviour of these routines or classes are noted in the comments column.

The blue cells indicate code that is still present in Regina. The red cells indicate code that has already been removed as of Regina 5.1.

Deprecated code Replacement Comments
Headers
nbooleans.h boolset.h  
nlayeredsurfacebundle.h layeredtorusbundle.h  
nmatrixint.h matrix.h  
nperm2.h, nperm3.h, nperm4.h, nperm5.h perm.h  
sfcombination.h, sfproperties.h surfacefilter.h  
Classes
Dim2EdgePairing,
NFacePairing,
Dim4FacetPairing
FacetPairing<2>,
FacetPairing<3>,
FacetPairing<4>
 
Dim2ExampleTriangulation,
NExampleTriangulation,
Dim4ExampleTriangulation
Example<2>,
Example<3>,
Example<4>
 
Dim2TriangleEdge,
NTetFace,
Dim4PentFacet
FacetSpec<2>,
FacetSpec<3>,
FacetSpec<4>
 
NExampleSnapPeaTriangulation ExampleSnapPea  
NNormalHypersurfaceVectorMirrored
Removed in Regina 5.1
 
NSurfaceSubset
Removed in Regina 5.1
 
NPropertyBase
Removed in Regina 5.1
 
Types
UseDim2GluingPerms,
UseGluingPerms,
UseDim4GluingPerms
GluingPermSearcher<2>::Use,
GluingPermSearcher<3>::Use,
GluingPermSearcher<4>::Use
 
Member Routines
NSVectorMirrored copy constructor
Removed in Regina 5.1
 
Global Routines
isZero(), isNonZero(), isPositive(), isNegative(), isNonPositive(), isNonNegative()
Removed in Regina 5.1
These methods for managing round-off error were very coarse, and have been removed because they should not be used.
Constants
PACKET_DIM2TRIANGULATION,
PACKET_TRIANGULATION,
PACKET_DIM4TRIANGULATION
PACKET_TRIANGULATION2,
PACKET_TRIANGULATION3,
PACKET_TRIANGULATION4
 
PACKET_NORMALSURFACELIST,
PACKET_NORMALHYPERSURFACELIST,
PACKET_ANGLESTRUCTURELIST
PACKET_NORMALSURFACES,
PACKET_NORMALHYPERSURFACES,
PACKET_ANGLESTRUCTURES
 
Command-Line Utilities
All MPI utilities (e.g., tricensus-mpi) These are being phased out in favour of other approaches to large-scale parallelisation. See the tricensus-mpi manual page for suggestions.

Back to main page ... Back to main page ...