DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Attributes
DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker Class Reference

#include <LightImplicitDigitalSurface.h>

Collaboration diagram for DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker:
Collaboration graph
[legend]

Public Types

typedef Tracker Self
typedef
LightImplicitDigitalSurface
< TKSpace, TPointPredicate > 
DigitalSurfaceContainer
typedef TKSpace::SCell Surfel
typedef TKSpace KSpace
typedef SurfelNeighborhood
< KSpace
Neighborhood

Public Member Functions

 Tracker (const 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 TPointPredicate>
class DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker

A model of CDigitalSurfaceTracker for LightImplicitDigitalSurface.

Definition at line 83 of file LightImplicitDigitalSurface.h.


Member Typedef Documentation

template<typename TKSpace, typename TPointPredicate>
typedef LightImplicitDigitalSurface<TKSpace,TPointPredicate> DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::DigitalSurfaceContainer

Definition at line 89 of file LightImplicitDigitalSurface.h.

template<typename TKSpace, typename TPointPredicate>
typedef TKSpace DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::KSpace

Definition at line 93 of file LightImplicitDigitalSurface.h.

template<typename TKSpace, typename TPointPredicate>
typedef SurfelNeighborhood<KSpace> DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Neighborhood

Definition at line 94 of file LightImplicitDigitalSurface.h.

template<typename TKSpace, typename TPointPredicate>
typedef Tracker DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Self

Definition at line 87 of file LightImplicitDigitalSurface.h.

template<typename TKSpace, typename TPointPredicate>
typedef TKSpace::SCell DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Surfel

Definition at line 90 of file LightImplicitDigitalSurface.h.


Constructor & Destructor Documentation

template<typename TKSpace , typename TPointPredicate >
DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Tracker ( const DigitalSurfaceContainer aSurface,
const Surfel s 
)
inline
template<typename TKSpace , typename TPointPredicate >
DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Tracker ( const Tracker other)
inline

Copy constructor.

Parameters:
otherthe object to clone.

Definition at line 64 of file LightImplicitDigitalSurface.ih.

: mySurface( other.mySurface ), myNeighborhood( other.myNeighborhood )
{
}
template<typename TKSpace , typename TPointPredicate >
DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::~Tracker ( )
inline

Destructor.

Definition at line 46 of file LightImplicitDigitalSurface.ih.

{}

Member Function Documentation

template<typename TKSpace , typename TPointPredicate >
DGtal::uint8_t DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::adjacent ( Surfel s,
Dimension  d,
bool  pos 
) const
inline

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.

Definition at line 112 of file LightImplicitDigitalSurface.ih.

References DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::pointPredicate().

Referenced by DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::degree(), and DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::writeNeighbors().

{
return static_cast<uint8_t>
}
template<typename TKSpace , typename TPointPredicate >
const DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Surfel & DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::current ( ) const
inline
Returns:
the current surfel on which the tracker is.

Definition at line 84 of file LightImplicitDigitalSurface.ih.

{
}
template<typename TKSpace , typename TPointPredicate >
void DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::move ( const Surfel s)
inline

Moves the tracker to the given valid surfel.

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

Definition at line 102 of file LightImplicitDigitalSurface.ih.

References DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::isInside().

Referenced by DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::degree(), and DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::writeNeighbors().

{
ASSERT( surface().isInside( s ) );
}
template<typename TKSpace , typename TPointPredicate >
DGtal::Dimension DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::orthDir ( ) const
inline
Returns:
the orthogonal direction to the current surfel.

Definition at line 93 of file LightImplicitDigitalSurface.ih.

{
}
template<typename TKSpace , typename TPointPredicate >
const DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::DigitalSurfaceContainer & DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::surface ( ) const
inline
Returns:
the surface container that the Tracker is tracking.

Definition at line 74 of file LightImplicitDigitalSurface.ih.

Referenced by DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Tracker().

{
return mySurface;
}

Field Documentation

template<typename TKSpace, typename TPointPredicate>
Neighborhood DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::myNeighborhood
private

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

Definition at line 154 of file LightImplicitDigitalSurface.h.

Referenced by DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::Tracker().

template<typename TKSpace, typename TPointPredicate>
const DigitalSurfaceContainer& DGtal::LightImplicitDigitalSurface< TKSpace, TPointPredicate >::Tracker::mySurface
private

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

Definition at line 151 of file LightImplicitDigitalSurface.h.


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