The Conley-Morse Graphs Software
Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
MapDistance< cubetype, cubsettype > Class Template Reference

The map distance change tracker. More...

#include <mapdist.h>

Public Member Functions

 MapDistance ()
 The default constructor. More...
 
 ~MapDistance ()
 The destructor that saves all the collected information to files. More...
 
void operator() (const typename cubetype::CoordType *coord, int dim, const IntervalType *x, const IntervalType *y) const
 The operator for gathering the information on a given cube. More...
 

Static Private Member Functions

static int countSubspaces (int dim)
 Computes the number of subspaces, depending on the dimension. More...
 
static void distance (int subspace, const IntervalType *box, int dim, double &distMin, double &distMax)
 Computes the lower and upper bounds for the distance of the interval box from the given subspace. More...
 

Private Attributes

chomp::homology::multitable< cubsettype > distCubes
 The sets of boxes with the distance checked: closer, farther, undetermined, for each hyperplane separately. More...
 
int dim
 The dimension of the phase space. More...
 

Static Private Attributes

static const bool checkDistanceChanges = false
 Should the distances be really checked? Please, set this to 'true' only if you know what you are doing. More...
 
static const bool rotatedXY = false
 Are the X and Y coordinates rotated? If so then the distance in this direction will be measured vertically, just towards the X axis. More...
 
static int number = 0
 The consecutive number of sets for file naming purposes. More...
 

Detailed Description

template<class cubetype, class cubsettype = chomp::homology::hashedset<cubetype>>
class MapDistance< cubetype, cubsettype >

The map distance change tracker.

Note: This class is not thread-safe.

Definition at line 69 of file mapdist.h.

Constructor & Destructor Documentation

◆ MapDistance()

template<class cubetype , class cubsettype >
MapDistance< cubetype, cubsettype >::MapDistance
inline

The default constructor.

Definition at line 125 of file mapdist.h.

◆ ~MapDistance()

template<class cubetype , class cubsettype >
MapDistance< cubetype, cubsettype >::~MapDistance
inline

The destructor that saves all the collected information to files.

Definition at line 131 of file mapdist.h.

Member Function Documentation

◆ countSubspaces()

template<class cubetype , class cubsettype >
int MapDistance< cubetype, cubsettype >::countSubspaces ( int  dim)
inlinestaticprivate

Computes the number of subspaces, depending on the dimension.

Definition at line 172 of file mapdist.h.

◆ distance()

template<class cubetype , class cubsettype >
void MapDistance< cubetype, cubsettype >::distance ( int  subspace,
const IntervalType box,
int  dim,
double &  distMin,
double &  distMax 
)
staticprivate

Computes the lower and upper bounds for the distance of the interval box from the given subspace.

Note: It can actually compute a multiple of the distance or the squared distance, but this is OK for the purpose of comparing the distances if they get smaller or larger.

Definition at line 187 of file mapdist.h.

◆ operator()()

template<class cubetype , class cubsettype >
void MapDistance< cubetype, cubsettype >::operator() ( const typename cubetype::CoordType *  coord,
int  dim,
const IntervalType x,
const IntervalType y 
) const
inline

The operator for gathering the information on a given cube.

Definition at line 279 of file mapdist.h.

References resetRounding().

Member Data Documentation

◆ checkDistanceChanges

template<class cubetype , class cubsettype = chomp::homology::hashedset<cubetype>>
const bool MapDistance< cubetype, cubsettype >::checkDistanceChanges = false
staticprivate

Should the distances be really checked? Please, set this to 'true' only if you know what you are doing.

Otherwise, leave it as 'false'.

Definition at line 86 of file mapdist.h.

◆ dim

template<class cubetype , class cubsettype = chomp::homology::hashedset<cubetype>>
int MapDistance< cubetype, cubsettype >::dim
mutableprivate

The dimension of the phase space.

Definition at line 99 of file mapdist.h.

◆ distCubes

template<class cubetype , class cubsettype = chomp::homology::hashedset<cubetype>>
chomp::homology::multitable<cubsettype> MapDistance< cubetype, cubsettype >::distCubes
mutableprivate

The sets of boxes with the distance checked: closer, farther, undetermined, for each hyperplane separately.

Definition at line 96 of file mapdist.h.

◆ number

template<class cubetype , class cubsettype >
int MapDistance< cubetype, cubsettype >::number = 0
staticprivate

The consecutive number of sets for file naming purposes.

Definition at line 102 of file mapdist.h.

◆ rotatedXY

template<class cubetype , class cubsettype = chomp::homology::hashedset<cubetype>>
const bool MapDistance< cubetype, cubsettype >::rotatedXY = false
staticprivate

Are the X and Y coordinates rotated? If so then the distance in this direction will be measured vertically, just towards the X axis.

Definition at line 91 of file mapdist.h.


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