File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/config/TeX-MML-AM_CHTML/MathJax.js
DGtal 2.0.0
DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker Class Reference

#include <DGtal/topology/LightExplicitDigitalSurface.h>

Public Types

typedef Tracker Self
typedef LightExplicitDigitalSurface< TKSpace, TSurfelPredicate > DigitalSurfaceContainer
typedef TKSpace::SCell Surfel
typedef TKSpace KSpace
typedef SurfelNeighborhood< KSpaceNeighborhood

Public Member Functions

 Tracker (ConstAlias< DigitalSurfaceContainer > aSurface, const Surfel &s)
 Tracker (const Tracker &other)
 ~Tracker ()
const DigitalSurfaceContainersurface () const
const Surfelcurrent () const
Dimension orthDir () const
void move (const Surfel &s)
uint8_t adjacent (Surfel &s, Dimension d, bool pos) const

Private Attributes

const DigitalSurfaceContainermySurface
Neighborhood myNeighborhood

Detailed Description

template<typename TKSpace, typename TSurfelPredicate>
class DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker

A model of CDigitalSurfaceTracker for LightExplicitDigitalSurface.

Definition at line 125 of file LightExplicitDigitalSurface.h.

Member Typedef Documentation

◆ DigitalSurfaceContainer

template<typename TKSpace, typename TSurfelPredicate>
typedef LightExplicitDigitalSurface<TKSpace,TSurfelPredicate> DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::DigitalSurfaceContainer

Definition at line 131 of file LightExplicitDigitalSurface.h.

◆ KSpace

template<typename TKSpace, typename TSurfelPredicate>
typedef TKSpace DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::KSpace

Definition at line 135 of file LightExplicitDigitalSurface.h.

◆ Neighborhood

template<typename TKSpace, typename TSurfelPredicate>
typedef SurfelNeighborhood<KSpace> DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::Neighborhood

Definition at line 136 of file LightExplicitDigitalSurface.h.

◆ Self

template<typename TKSpace, typename TSurfelPredicate>
typedef Tracker DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::Self

Definition at line 129 of file LightExplicitDigitalSurface.h.

◆ Surfel

template<typename TKSpace, typename TSurfelPredicate>
typedef TKSpace::SCell DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::Surfel

Definition at line 132 of file LightExplicitDigitalSurface.h.

Constructor & Destructor Documentation

◆ Tracker() [1/2]

template<typename TKSpace, typename TSurfelPredicate>
DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::Tracker ( ConstAlias< DigitalSurfaceContainer > aSurface,
const Surfel & s )

Constructor from surface container and surfel.

Parameters
aSurfacethe container describing the surface.
sthe surfel on which the tracker is initialized.

Referenced by Tracker().

◆ Tracker() [2/2]

template<typename TKSpace, typename TSurfelPredicate>
DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::Tracker ( const Tracker & other)

Copy constructor.

Parameters
otherthe object to clone.

References Tracker().

◆ ~Tracker()

template<typename TKSpace, typename TSurfelPredicate>
DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::~Tracker ( )

Destructor.

Member Function Documentation

◆ adjacent()

template<typename TKSpace, typename TSurfelPredicate>
uint8_t DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::adjacent ( Surfel & s,
Dimension d,
bool pos ) const

Computes the surfel adjacent to 'current()' in the direction [d] along orientation [pos].

Parameters
s(modified) set to the adjacent surfel in the specified direction d and orientation pos if it exists. Otherwise unchanged (method returns 0 in this case).
dany direction different from 'orthDir()'.
poswhen 'true' look in positive direction along [track_dir] axis, 'false' look in negative direction.
Returns
the move code (n=0-3). When 0: no adjacent surfel, otherwise 1-3: adjacent surfel is n-th follower.

◆ current()

template<typename TKSpace, typename TSurfelPredicate>
const Surfel & DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::current ( ) const
Returns
the current surfel on which the tracker is.

◆ move()

template<typename TKSpace, typename TSurfelPredicate>
void DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::move ( const Surfel & s)

Moves the tracker to the given valid surfel.

Precondition
'surface().isInside( s )'
Parameters
sthe surfel on which the tracker is moved.

◆ orthDir()

template<typename TKSpace, typename TSurfelPredicate>
Dimension DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::orthDir ( ) const
Returns
the orthogonal direction to the current surfel.

◆ surface()

template<typename TKSpace, typename TSurfelPredicate>
const DigitalSurfaceContainer & DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::surface ( ) const
Returns
the surface container that the Tracker is tracking.

Field Documentation

◆ myNeighborhood

template<typename TKSpace, typename TSurfelPredicate>
Neighborhood DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::myNeighborhood
private

the current surfel neighborhood, the object that holds the necessary information for determining neighbors.

Definition at line 196 of file LightExplicitDigitalSurface.h.

◆ mySurface

template<typename TKSpace, typename TSurfelPredicate>
const DigitalSurfaceContainer& DGtal::LightExplicitDigitalSurface< TKSpace, TSurfelPredicate >::Tracker::mySurface
private

a reference to the digital surface container on which is the tracker.

Definition at line 193 of file LightExplicitDigitalSurface.h.


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