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::SurfelNeighborhood< TKSpace > Class Template Reference

#include <SurfelNeighborhood.h>

Inheritance diagram for DGtal::SurfelNeighborhood< TKSpace >:
Inheritance graph
[legend]
Collaboration diagram for DGtal::SurfelNeighborhood< TKSpace >:
Collaboration graph
[legend]

Public Types

typedef TKSpace KSpace
typedef KSpace::Point Point
typedef KSpace::Cell Cell
typedef KSpace::SCell SCell

Public Member Functions

 ~SurfelNeighborhood ()
 SurfelNeighborhood ()
 SurfelNeighborhood (const SurfelNeighborhood &other)
SurfelNeighborhoodoperator= (const SurfelNeighborhood &other)
void init (const KSpace *space, const SurfelAdjacency< KSpace::dimension > *adj, const SCell &aSurfel)
void setSurfel (const SCell &aSurfel)
const SCellsurfel () const
Dimension orthDir () const
SCell innerSpel () const
SCell outerSpel () const
SCell innerAdjacentSpel (Dimension track_dir, bool pos) const
SCell outerAdjacentSpel (Dimension track_dir, bool pos) const
SCell follower1 (Dimension track_dir, bool pos) const
SCell follower2 (Dimension track_dir, bool pos) const
SCell follower3 (Dimension track_dir, bool pos) const
template<typename SpelSet >
unsigned int getAdjacentOnSpelSet (SCell &adj_surfel, const SpelSet &obj, Dimension track_dir, bool pos) const
template<typename DigitalSet >
unsigned int getAdjacentOnDigitalSet (SCell &adj_surfel, const DigitalSet &obj, Dimension track_dir, bool pos) const
template<typename PointPredicate >
unsigned int getAdjacentOnPointPredicate (SCell &adj_surfel, const PointPredicate &pp, Dimension track_dir, bool pos) const
template<typename SurfelPredicate >
unsigned int getAdjacentOnSurfelPredicate (SCell &adj_surfel, const SurfelPredicate &sp, Dimension track_dir, bool pos) const
void selfDisplay (std::ostream &out) const
bool isValid () const

Private Attributes

const KSpacemySpace
const SurfelAdjacency
< KSpace::dimension > * 
mySurfelAdj
SCell mySurfel
Dimension myOrthDir
bool myOrthDirect

Detailed Description

template<typename TKSpace>
class DGtal::SurfelNeighborhood< TKSpace >

Aim: This helper class is useful to compute the neighboring surfels of a given surfel, especially over a digital surface or over an object boundary. Two signed surfels are incident if they share a common n-2 cell. This class uses a SurfelAdjacency so as to determine adjacent surfels (either looking for them from interior to exterior or inversely).

Description of template class 'SurfelNeighborhood'

Template Parameters:
TKSpacethe type of celluler grid space (for instance, a KhalimskySpaceND).

Essentially a backport from ImaGene.

Definition at line 68 of file SurfelNeighborhood.h.


Member Typedef Documentation

template<typename TKSpace>
typedef KSpace::Cell DGtal::SurfelNeighborhood< TKSpace >::Cell

Definition at line 75 of file SurfelNeighborhood.h.

template<typename TKSpace>
typedef TKSpace DGtal::SurfelNeighborhood< TKSpace >::KSpace

Definition at line 73 of file SurfelNeighborhood.h.

template<typename TKSpace>
typedef KSpace::Point DGtal::SurfelNeighborhood< TKSpace >::Point

Definition at line 74 of file SurfelNeighborhood.h.

template<typename TKSpace>
typedef KSpace::SCell DGtal::SurfelNeighborhood< TKSpace >::SCell

Definition at line 76 of file SurfelNeighborhood.h.


Constructor & Destructor Documentation

template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::~SurfelNeighborhood ( )
inline

Destructor.

Definition at line 47 of file SurfelNeighborhood.ih.

{}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SurfelNeighborhood ( )
inline

Constructor. The object is not valid.

Definition at line 53 of file SurfelNeighborhood.ih.

: mySpace( 0 ), mySurfelAdj( 0 )
{}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SurfelNeighborhood ( const SurfelNeighborhood< TKSpace > &  other)
inline

Copy constructor.

Parameters:
otherthe object to clone.

Definition at line 60 of file SurfelNeighborhood.ih.

: mySpace( other.mySpace ), mySurfelAdj( other.mySurfelAdj ),
mySurfel( other.mySurfel ), myOrthDir( other.myOrthDir ),
{}

Member Function Documentation

template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::follower1 ( Dimension  track_dir,
bool  pos 
) const
inline
Parameters:
track_dirthe direction where to look for the follower (different from 'orthDir()'.
poswhen 'true', indicates to look for the follower along the positive direction of the tracking axis, otherwise along the negative direction.
Returns:
the first follower of 'surfel()'.

Definition at line 182 of file SurfelNeighborhood.ih.

{
ASSERT( ( mySpace != 0 ) && ( track_dir != myOrthDir ) );
return mySpace->sIncident( innerSpel(), track_dir, pos );
}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::follower2 ( Dimension  track_dir,
bool  pos 
) const
inline
Parameters:
track_dirthe direction where to look for the follower (different from 'orthDir()'.
poswhen 'true', indicates to look for the follower along the positive direction of the tracking axis, otherwise along the negative direction.
Returns:
the second follower of 'surfel()'.

Definition at line 192 of file SurfelNeighborhood.ih.

{
ASSERT( ( mySpace != 0 ) && ( track_dir != myOrthDir ) );
return mySpace->sAdjacent( surfel(), track_dir, pos );
// return pos
// ? mySpace->sGetIncr( surfel(), track_dir )
// : mySpace->sGetDecr( surfel(), track_dir );
}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::follower3 ( Dimension  track_dir,
bool  pos 
) const
inline
Parameters:
track_dirthe direction where to look for the follower (different from 'orthDir()'.
poswhen 'true', indicates to look for the follower along the positive direction of the tracking axis, otherwise along the negative direction.
Returns:
the third follower of 'surfel()'.

Definition at line 205 of file SurfelNeighborhood.ih.

{
ASSERT( ( mySpace != 0 ) && ( track_dir != myOrthDir ) );
return mySpace->sIncident( outerSpel(), track_dir, pos );
}
template<typename TKSpace >
template<typename DigitalSet >
unsigned int DGtal::SurfelNeighborhood< TKSpace >::getAdjacentOnDigitalSet ( SCell adj_surfel,
const DigitalSet &  obj,
Dimension  track_dir,
bool  pos 
) const
inline

Go to the next direct or indirect adjacent bel on the boundary of some digital [obj]. The boundary may be open (it touches the space borders).

Template Parameters:
DigitalSetany model of digital set, i.e. a set of digital points, having 'find( const Point & ) : const_iterator'.
Parameters:
adj_surfel(returns) the signed adjacent surfel in direction [track_dir] if there is one.
objany set of unsigned spels (n-cells).
track_dirthe direction where to look for the spel.
poswhen 'true' look in positive direction along [track_dir] axis, 'false' look in negative direction.
Returns:
0 if the move was impossible (no bels in this direction), 1 if it was the first interior, 2 if it was the second interior, 3 if it was the third interior.

Definition at line 283 of file SurfelNeighborhood.ih.

{
// Check that [m_surfel] is a bel.
ASSERT( mySpace != 0 );
ASSERT( mySurfelAdj != 0 );
Point inner_spel_pt = mySpace->sCoords( innerSpel() );
ASSERT( obj.find( inner_spel_pt ) != obj.end() );
ASSERT( obj.find( mySpace->sCoords( outerSpel() ) ) == obj.end() );
// Check if it goes outside the space.
if ( ( pos && ( inner_spel_pt[ track_dir ] == mySpace->max( track_dir ) ) )
||
( (!pos) && ( inner_spel_pt[ track_dir ] == mySpace->min( track_dir ) ) )
)
return 0;
// Check type of surfel adjacency.
if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // interior to exterior
// Check first next bel.
if ( obj.find( mySpace->sCoords( innerAdjacentSpel( track_dir, pos ) ) )
== obj.end() )
{
adj_surfel = follower1( track_dir, pos );
return 1;
}
// Check second next bel.
if ( obj.find( mySpace->sCoords( outerAdjacentSpel( track_dir, pos ) ) )
== obj.end() )
{
adj_surfel = follower2( track_dir, pos );
return 2;
}
// The third one is then the right one.
adj_surfel = follower3( track_dir, pos );
return 3;
}
else // if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // exterior to interior
// Check first next bel.
if ( obj.find( mySpace->sCoords( outerAdjacentSpel( track_dir, pos ) ) )
!= obj.end() )
{
adj_surfel = follower3( track_dir, pos );
return 3;
}
// Check second next bel.
if ( obj.find( mySpace->sCoords( innerAdjacentSpel( track_dir, pos ) ) )
!= obj.end() )
{
adj_surfel = follower2( track_dir, pos );
return 2;
}
// The third one is then the right one.
adj_surfel = follower1( track_dir, pos );
return 1;
}
}
template<typename TKSpace >
template<typename PointPredicate >
unsigned int DGtal::SurfelNeighborhood< TKSpace >::getAdjacentOnPointPredicate ( SCell adj_surfel,
const PointPredicate &  pp,
Dimension  track_dir,
bool  pos 
) const

Go to the next direct or indirect adjacent bel on the boundary of some digital set defined by a PointPredicate [pp]. The boundary may be open (it touches the space borders).

Template Parameters:
PointPredicateany model of predicate on point, i.e. a boolean functor returning 'true' when the point belongs to the object. It is a model of CPointPredicate. The type SurfelNeighborhood::Point should be the same as PointPredicate::Point.
Parameters:
adj_surfel(returns) the signed adjacent surfel in direction [track_dir] if there is one.
ppany predicate taking a Point and returning 'true' whenever the point belongs to the object.
track_dirthe direction where to look for the spel.
poswhen 'true' look in positive direction along [track_dir] axis, 'false' look in negative direction.
Returns:
0 if the move was impossible (no bels in this direction), 1 if it was the first interior, 2 if it was the second interior, 3 if it was the third interior.

Definition at line 350 of file SurfelNeighborhood.ih.

Referenced by DGtal::Surfaces< TKSpace >::track2DBoundary(), DGtal::Surfaces< TKSpace >::track2DSliceBoundary(), DGtal::Surfaces< TKSpace >::trackBoundary(), and DGtal::Surfaces< TKSpace >::trackClosedBoundary().

{
BOOST_CONCEPT_ASSERT(( CPointPredicate<PointPredicate> ));
// Check that [m_surfel] is a bel.
ASSERT( mySpace != 0 );
ASSERT( mySurfelAdj != 0 );
Point inner_spel_pt = mySpace->sCoords( innerSpel() );
ASSERT( pp( inner_spel_pt ) && "Should be inside." );
ASSERT( ! pp( mySpace->sCoords( outerSpel() ) ) && "Should be outside" );
// Check if it goes outside the space.
if ( ( pos && ( inner_spel_pt[ track_dir ] == mySpace->max( track_dir ) ) )
||
( (!pos) && ( inner_spel_pt[ track_dir ] == mySpace->min( track_dir ) ) )
)
return 0;
// Check type of surfel adjacency.
if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // interior to exterior
// Check first next bel.
if ( ! pp( mySpace->sCoords( innerAdjacentSpel( track_dir, pos ) ) ) )
{
adj_surfel = follower1( track_dir, pos );
return 1;
}
// Check second next bel.
if ( ! pp( mySpace->sCoords( outerAdjacentSpel( track_dir, pos ) ) ) )
{
adj_surfel = follower2( track_dir, pos );
return 2;
}
// The third one is then the right one.
adj_surfel = follower3( track_dir, pos );
return 3;
}
else // if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // exterior to interior
// Check first next bel.
if ( pp( mySpace->sCoords( outerAdjacentSpel( track_dir, pos ) ) ) )
{
adj_surfel = follower3( track_dir, pos );
return 3;
}
// Check second next bel.
if ( pp( mySpace->sCoords( innerAdjacentSpel( track_dir, pos ) ) ) )
{
adj_surfel = follower2( track_dir, pos );
return 2;
}
// The third one is then the right one.
adj_surfel = follower1( track_dir, pos );
return 1;
}
}
template<typename TKSpace >
template<typename SpelSet >
unsigned int DGtal::SurfelNeighborhood< TKSpace >::getAdjacentOnSpelSet ( SCell adj_surfel,
const SpelSet &  obj,
Dimension  track_dir,
bool  pos 
) const
inline

Go to the next direct or indirect adjacent bel on the boundary of some set of unsigned spels [obj]. The boundary may be open (it touches the space borders).

Template Parameters:
SpelSetany model of a set of unsigned spels, having 'find( const Spel & ) : const_iterator'.
Parameters:
adj_surfel(returns) the signed adjacent surfel in direction [track_dir] if there is one.
objany set of unsigned spels (n-cells).
track_dirthe direction where to look for the spel.
poswhen 'true' look in positive direction along [track_dir] axis, 'false' look in negative direction.
Returns:
0 if the move was impossible (no bels in this direction), 1 if it was the first interior, 2 if it was the second interior, 3 if it was the third interior.

Definition at line 219 of file SurfelNeighborhood.ih.

{
// Check that [m_surfel] is a bel.
ASSERT( mySpace != 0 );
ASSERT( mySurfelAdj != 0 );
Cell uinner_spel = mySpace->unsigns( innerSpel() );
ASSERT( obj.find( uinner_spel ) != obj.end() );
ASSERT( obj.find( mySpace->unsigns( outerSpel() ) ) == obj.end() );
// Check if it goes outside the space.
if ( ( pos && mySpace->uisMax( uinner_spel, track_dir ) )
|| ( ( ! pos ) && mySpace->uisMin( uinner_spel, track_dir ) ) )
return 0;
// Check type of surfel adjacency.
if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // interior to exterior
// Check first next bel.
if ( obj.find( mySpace->unsigns( innerAdjacentSpel( track_dir, pos ) ) )
== obj.end() )
{
adj_surfel = follower1( track_dir, pos );
return 1;
}
// Check second next bel.
if ( obj.find( mySpace->unsigns( outerAdjacentSpel( track_dir, pos ) ) )
== obj.end() )
{
adj_surfel = follower2( track_dir, pos );
return 2;
}
// The third one is then the right one.
adj_surfel = follower3( track_dir, pos );
return 3;
}
else // if ( mySurfelAdj->getAdjacency( m_orth_dir, track_dir ) )
{ // exterior to interior
// Check first next bel.
if ( obj.find( mySpace->unsigns( outerAdjacentSpel( track_dir, pos ) ) )
!= obj.end() )
{
adj_surfel = follower3( track_dir, pos );
return 3;
}
// Check second next bel.
if ( obj.find( mySpace->unsigns( innerAdjacentSpel( track_dir, pos ) ) )
!= obj.end() )
{
adj_surfel = follower2( track_dir, pos );
return 2;
}
// The third one is then the right one.
adj_surfel = follower1( track_dir, pos );
return 1;
}
}
template<typename TKSpace >
template<typename SurfelPredicate >
unsigned int DGtal::SurfelNeighborhood< TKSpace >::getAdjacentOnSurfelPredicate ( SCell adj_surfel,
const SurfelPredicate &  sp,
Dimension  track_dir,
bool  pos 
) const

Go to the next direct or indirect adjacent bel on some set of surfels defined by a SurfelPredicate [sp]. The digital surface may be open (for instance, it may touch the space borders or may be open).

Template Parameters:
SurfelPredicateany model of predicate on surfel, i.e. a boolean functor returning 'true' when the surfel belongs to the digital surface. It is a model of CSurfelPredicate.
Parameters:
adj_surfel(returns) the signed adjacent surfel in direction [track_dir] if there is one.
spany predicate taking a Surfel and returning 'true' whenever the surfel belongs to the surface.
track_dirthe direction where to look for the spel.
poswhen 'true' look in positive direction along [track_dir] axis, 'false' look in negative direction.
Returns:
0 if the move was impossible (no bels in this direction), 1 if it was the first interior, 2 if it was the second interior, 3 if it was the third interior.

Definition at line 414 of file SurfelNeighborhood.ih.

Referenced by DGtal::Surfaces< TKSpace >::track2DSliceSurface(), DGtal::Surfaces< TKSpace >::track2DSurface(), DGtal::Surfaces< TKSpace >::trackClosedSurface(), and DGtal::Surfaces< TKSpace >::trackSurface().

{
BOOST_CONCEPT_ASSERT(( CSurfelPredicate<SurfelPredicate> ));
typedef typename KSpace::Integer Integer;
// Check that [m_surfel] is a bel.
ASSERT( mySpace != 0 );
ASSERT( mySurfelAdj != 0 );
ASSERT( sp( mySurfel ) && "Current surfel should satisfy predicate." );
// Check if it goes outside the space.
Integer x_track = mySpace->sCoord( surfel(), track_dir );
if ( ( pos && ( x_track == mySpace->max( track_dir ) ) )
||
( (!pos) && ( x_track == mySpace->min( track_dir ) ) )
)
return 0;
// Integer x_orth = mySpace->sCoord( surfel(), orthDir() );
SCell tmp_surfel = adj_surfel;
// Check type of surfel adjacency.
if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // interior to exterior
// Check first next bel.
// if ( ( myOrthDirect && ( x_orth != mySpace->max( orthDir() ) ) )
// || ( ! myOrthDirect && ( x_orth != mySpace->min( orthDir() ) ) ) )
// {
adj_surfel = follower1( track_dir, pos );
if ( sp( adj_surfel ) ) return 1;
// }
// Check second next bel.
// if ( ( pos && ( x_track != mySpace->max( track_dir ) ) )
// || ( ! pos && ( x_track != mySpace->min( track_dir ) ) ) )
// {
adj_surfel = follower2( track_dir, pos );
if ( sp( adj_surfel ) ) return 2;
// }
// Check third one.
// if ( ( ! myOrthDirect && ( x_orth != mySpace->max( orthDir() ) ) )
// || ( myOrthDirect && ( x_orth != mySpace->min( orthDir() ) ) ) )
// {
adj_surfel = follower3( track_dir, pos );
if ( sp( adj_surfel ) ) return 3;
// }
}
else // if ( mySurfelAdj->getAdjacency( orthDir(), track_dir ) )
{ // exterior to interior
// Check first next bel.
// if ( ( ! myOrthDirect && ( x_orth != mySpace->max( orthDir() ) ) )
// || ( myOrthDirect && ( x_orth != mySpace->min( orthDir() ) ) ) )
// {
adj_surfel = follower3( track_dir, pos );
if ( sp( adj_surfel ) ) return 3;
// }
// Check second next bel.
// if ( ( pos && ( x_track != mySpace->max( track_dir ) ) )
// || ( ! pos && ( x_track != mySpace->min( track_dir ) ) ) )
// {
adj_surfel = follower2( track_dir, pos );
if ( sp( adj_surfel ) ) return 2;
// }
// Check third one.
// if ( ( myOrthDirect && ( x_orth != mySpace->max( orthDir() ) ) )
// || ( ! myOrthDirect && ( x_orth != mySpace->min( orthDir() ) ) ) )
// {
adj_surfel = follower1( track_dir, pos );
if ( sp( adj_surfel ) ) return 1;
// }
}
adj_surfel = tmp_surfel;
return 0;
}
template<typename TKSpace >
void DGtal::SurfelNeighborhood< TKSpace >::init ( const KSpace space,
const SurfelAdjacency< KSpace::dimension > *  adj,
const SCell aSurfel 
)
inline
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::innerAdjacentSpel ( Dimension  track_dir,
bool  pos 
) const
inline
Parameters:
track_dirthe direction where to look for the spel.
poswhen 'true', looks along the positive direction of the tracking axis, otherwise along the negative direction.
Returns:
the (positively oriented) spel adjacent to 'innerSpel()' in the direction [track_dir] and orientation [pos].

Definition at line 159 of file SurfelNeighborhood.ih.

{
ASSERT( ( mySpace != 0 ) && ( track_dir != myOrthDir ) );
return mySpace->sAdjacent( innerSpel(), track_dir, pos );
}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::innerSpel ( ) const
inline
Returns:
the positively oriented spel touching the surfel 'surfel()'.

Definition at line 139 of file SurfelNeighborhood.ih.

{
ASSERT( mySpace != 0 );
return mySpace->sIncident( surfel(), orthDir(), myOrthDirect );
}
template<typename TKSpace >
bool DGtal::SurfelNeighborhood< TKSpace >::isValid ( ) const
inline

Checks the validity/consistency of the object.

Returns:
'true' if the object is valid, 'false' otherwise.

Definition at line 505 of file SurfelNeighborhood.ih.

{
return true;
}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace > & DGtal::SurfelNeighborhood< TKSpace >::operator= ( const SurfelNeighborhood< TKSpace > &  other)
inline
template<typename TKSpace >
Dimension DGtal::SurfelNeighborhood< TKSpace >::orthDir ( ) const
inline
Returns:
the orthogonal direction to the current surfel.

Definition at line 127 of file SurfelNeighborhood.ih.

{
return myOrthDir;
}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::outerAdjacentSpel ( Dimension  track_dir,
bool  pos 
) const
inline
Parameters:
track_dirthe direction where to look for the spel.
poswhen 'true', looks along the positive direction of the tracking axis, otherwise along the negative direction.
Returns:
the (negatively oriented) spel adjacent to 'outerSpel()' in the direction [track_dir] and orientation [pos].

Definition at line 169 of file SurfelNeighborhood.ih.

{
ASSERT( ( mySpace != 0 ) && ( track_dir != myOrthDir ) );
return mySpace->sAdjacent( outerSpel(), track_dir, pos );
}
template<typename TKSpace >
DGtal::SurfelNeighborhood< TKSpace >::SCell DGtal::SurfelNeighborhood< TKSpace >::outerSpel ( ) const
inline
Returns:
the negatively oriented spel touching the surfel 'surfel()'.

Definition at line 149 of file SurfelNeighborhood.ih.

{
ASSERT( mySpace != 0 );
return mySpace->sIncident( surfel(), orthDir(), ! myOrthDirect );
}
template<typename TKSpace >
void DGtal::SurfelNeighborhood< TKSpace >::selfDisplay ( std::ostream &  out) const
inline

Writes/Displays the object on an output stream.

Parameters:
outthe output stream where the object is written.

Definition at line 497 of file SurfelNeighborhood.ih.

{
out << "[SurfelNeighborhood]";
}
template<typename TKSpace >
void DGtal::SurfelNeighborhood< TKSpace >::setSurfel ( const SCell aSurfel)
inline
template<typename TKSpace >
const DGtal::SurfelNeighborhood< TKSpace >::SCell & DGtal::SurfelNeighborhood< TKSpace >::surfel ( ) const
inline
Returns:
the current surfel.

Definition at line 118 of file SurfelNeighborhood.ih.

{
return mySurfel;
}

Field Documentation

template<typename TKSpace>
Dimension DGtal::SurfelNeighborhood< TKSpace >::myOrthDir
private

The orthogonal direction to [mySurfel].

See also:
mySurfel

Definition at line 332 of file SurfelNeighborhood.h.

Referenced by DGtal::SurfelNeighborhood< TKSpace >::operator=().

template<typename TKSpace>
bool DGtal::SurfelNeighborhood< TKSpace >::myOrthDirect
private
  The direct orientation in the orthogonal direction wrt [mySurfel].
See also:
m_surfel

Definition at line 335 of file SurfelNeighborhood.h.

Referenced by DGtal::SurfelNeighborhood< TKSpace >::operator=().

template<typename TKSpace>
const KSpace* DGtal::SurfelNeighborhood< TKSpace >::mySpace
private

A pointer to the digital space.

Definition at line 326 of file SurfelNeighborhood.h.

Referenced by DGtal::SurfelNeighborhood< TKSpace >::operator=().

template<typename TKSpace>
SCell DGtal::SurfelNeighborhood< TKSpace >::mySurfel
private

The current surfel.

Definition at line 330 of file SurfelNeighborhood.h.

Referenced by DGtal::SurfelNeighborhood< TKSpace >::operator=().

template<typename TKSpace>
const SurfelAdjacency<KSpace::dimension>* DGtal::SurfelNeighborhood< TKSpace >::mySurfelAdj
private

A pointer to the bel adjacency.

Definition at line 328 of file SurfelNeighborhood.h.

Referenced by DGtal::SurfelNeighborhood< TKSpace >::operator=().


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