DGtal  1.5.beta
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger > Class Template Reference

Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of digital straight segments (DSS) along a sequence of surfels lying on a slice of the digital surface (i.e., the orthogonal direction of all surfels belong to a same plane, most pairs of consecutive surfels share a common linel). More...

#include <DGtal/geometry/surfaces/ArithmeticalDSSComputerOnSurfels.h>

Data Structures

struct  DirectPairExtractor
 
struct  IndirectPairExtractor
 

Public Types

typedef TKSpace KSpace
 
typedef KSpace::SCell SCell
 
typedef TIterator ConstIterator
 
typedef KSpace::Space::Point Point3
 
typedef PointVector< 2, TInteger > Point
 
typedef functors::Projector< SpaceND< 2, TInteger > > Projector
 
typedef Point::Coordinate Coordinate
 
typedef TInteger Integer
 
typedef ArithmeticalDSS< Coordinate, Integer, 4 > DSS
 
typedef DSS Primitive
 
typedef Point Vector
 
typedef ArithmeticalDSSComputerOnSurfels< KSpace, ConstIterator, TInteger > Self
 
typedef std::shared_ptr< DirectPairExtractorPairExtractor
 
typedef ArithmeticalDSSComputerOnSurfels< KSpace, ReverseIterator< ConstIterator >, TInteger > Reverse
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((boost_concepts::ReadableIteratorConcept< ConstIterator >))
 
 BOOST_CONCEPT_ASSERT ((boost_concepts::ForwardTraversalConcept< ConstIterator >))
 
 BOOST_STATIC_ASSERT ((concepts::ConceptUtils::SameType< SCell, typename IteratorCirculatorTraits< ConstIterator >::Value >::value))
 
 BOOST_CONCEPT_ASSERT ((concepts::CInteger< Coordinate >))
 
 BOOST_CONCEPT_ASSERT ((concepts::CInteger< Integer >))
 
 BOOST_STATIC_ASSERT ((concepts::ConceptUtils::SameType< Point, typename DSS::Point >::value))
 
 ArithmeticalDSSComputerOnSurfels ()
 
 ArithmeticalDSSComputerOnSurfels (const KSpace &aKSpace, Dimension aDim1, Dimension aDim2, bool aFlagToReverse=false)
 
void init (const ConstIterator &it)
 
 ArithmeticalDSSComputerOnSurfels (const ArithmeticalDSSComputerOnSurfels &other)
 
ArithmeticalDSSComputerOnSurfelsoperator= (const ArithmeticalDSSComputerOnSurfels &other)
 
Self getSelf () const
 
Reverse getReverse () const
 
bool operator== (const ArithmeticalDSSComputerOnSurfels &other) const
 
bool operator!= (const ArithmeticalDSSComputerOnSurfels &other) const
 
 ~ArithmeticalDSSComputerOnSurfels ()
 
bool isExtendableFront ()
 
bool isExtendableBack ()
 
bool extendFront ()
 
bool extendBack ()
 
bool retractFront ()
 
bool retractBack ()
 
std::pair< Point, PointgetProjectedPointsFromSurfel (SCell const &aSurfel) const
 
Point getNextProjectedPoint (SCell const &aSurfel) const
 
Point getPreviousProjectedPoint (SCell const &aSurfel) const
 
const Primitiveprimitive () const
 
Integer a () const
 
Integer b () const
 
Integer mu () const
 
Integer omega () const
 
Point Uf () const
 
Point Ul () const
 
Point Lf () const
 
Point Ll () const
 
Point back () const
 
Point front () const
 
ConstIterator begin () const
 
ConstIterator end () const
 
bool isValid () const
 
void selfDisplay (std::ostream &out) const
 

Protected Attributes

const KSpacemyKSpace
 
Dimension mySliceAxis1
 
Dimension mySliceAxis2
 
Dimension myProjectionAxis
 
Projector my2DProjector
 
PairExtractor myExtractor
 
DSS myDSS
 
ConstIterator myBegin
 
ConstIterator myEnd
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CCellularGridSpaceND< TKSpace >))
 
 BOOST_STATIC_ASSERT ((TKSpace::dimension==3))
 
std::pair< Point, PointgetProjectedPointsFromLinel (SCell const &aLinel) const
 
Dimension dimNotIn (Dimension const &aDim1, Dimension const &aDim2) const
 

Detailed Description

template<typename TKSpace, typename TIterator, typename TInteger = typename TKSpace::Space::Integer>
class DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >

Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of digital straight segments (DSS) along a sequence of surfels lying on a slice of the digital surface (i.e., the orthogonal direction of all surfels belong to a same plane, most pairs of consecutive surfels share a common linel).

Template Parameters
TKSpacetype of Khalimsky space
TIteratortype of iterator on 3d surfels, at least readable and forward.
TIntegertype of integers used for the computation of remainders, which is a model of concepts::CInteger.
adjacencyan unsigned integer equal to 4 for standard (simply 4-connected) DSS or 8 for naive (simply 8-connected) DSS (default).

This class is a model of concepts::CDynamicBidirectionalSegmentComputer. It is also default constructible, copy constructible, assignable and equality comparable.

See also
ArithmeticalDSS NaiveDSS8 StandardDSS4

Definition at line 85 of file ArithmeticalDSSComputerOnSurfels.h.

Member Typedef Documentation

◆ ConstIterator

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef TIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::ConstIterator

Type of iterator, at least readable and forward

Definition at line 106 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Coordinate

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef Point::Coordinate DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Coordinate

Type of coordinate

Definition at line 129 of file ArithmeticalDSSComputerOnSurfels.h.

◆ DSS

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef ArithmeticalDSS<Coordinate, Integer, 4> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::DSS

Type of objects that represents DSSs

Definition at line 141 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Integer

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef TInteger DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Integer

Type of integer, devoted to remainders (and intercepts)

Definition at line 135 of file ArithmeticalDSSComputerOnSurfels.h.

◆ KSpace

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef TKSpace DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::KSpace

Type of Khalimsky space

Definition at line 96 of file ArithmeticalDSSComputerOnSurfels.h.

◆ PairExtractor

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef std::shared_ptr<DirectPairExtractor> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::PairExtractor

Definition at line 175 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Point

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef PointVector<2, TInteger> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Point

Type of 2d digital point

Definition at line 119 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Point3

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef KSpace::Space::Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Point3

Type of 3d digital point

Definition at line 114 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Primitive

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef DSS DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Primitive

Type of primitive representation, defined as an alias of DSS

Definition at line 148 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Projector

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef functors::Projector<SpaceND<2,TInteger> > DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Projector

Type of 3d to 2d projector

Definition at line 124 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Reverse

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef ArithmeticalDSSComputerOnSurfels<KSpace,ReverseIterator<ConstIterator>,TInteger> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Reverse

Reversed version of this class (using reverse iterators)

Definition at line 180 of file ArithmeticalDSSComputerOnSurfels.h.

◆ SCell

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef KSpace::SCell DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::SCell

Type of signed cell

Definition at line 101 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Self

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef ArithmeticalDSSComputerOnSurfels<KSpace,ConstIterator,TInteger> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Self

Alias of this class

Definition at line 158 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Vector

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
typedef Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Vector

Type of vector, defined as an alias of point

Definition at line 153 of file ArithmeticalDSSComputerOnSurfels.h.

Constructor & Destructor Documentation

◆ ArithmeticalDSSComputerOnSurfels() [1/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::ArithmeticalDSSComputerOnSurfels ( )

Default constructor. not valid

◆ ArithmeticalDSSComputerOnSurfels() [2/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::ArithmeticalDSSComputerOnSurfels ( const KSpace aKSpace,
Dimension  aDim1,
Dimension  aDim2,
bool  aFlagToReverse = false 
)

Constructor.

Parameters
aKSpacea Khalimsky space
aDim1a first direction that describes the projection plane
aDim2a second direction that describes the projection plane
aFlagToReversea boolean telling whether one has to reverse the orientation of the points associated to a surfel or not ('false' by default)

◆ ArithmeticalDSSComputerOnSurfels() [3/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::ArithmeticalDSSComputerOnSurfels ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger > &  other)

Copy constructor.

Parameters
otherthe object to clone.

◆ ~ArithmeticalDSSComputerOnSurfels()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::~ArithmeticalDSSComputerOnSurfels ( )
inline

Destructor.

Definition at line 251 of file ArithmeticalDSSComputerOnSurfels.h.

251 {};

Member Function Documentation

◆ a()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Integer DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::a ( ) const
Returns
a-parameter of the DSS

◆ b()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Integer DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::b ( ) const
Returns
b-parameter of the DSS

◆ back()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::back ( ) const
Returns
the first point of the DSS.

◆ begin()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::begin ( ) const
Returns
begin iterator of the DSS range.

◆ BOOST_CONCEPT_ASSERT() [1/5]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_CONCEPT_ASSERT ( (boost_concepts::ForwardTraversalConcept< ConstIterator >)  )

◆ BOOST_CONCEPT_ASSERT() [2/5]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_CONCEPT_ASSERT ( (boost_concepts::ReadableIteratorConcept< ConstIterator >)  )

◆ BOOST_CONCEPT_ASSERT() [3/5]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_CONCEPT_ASSERT ( (concepts::CCellularGridSpaceND< TKSpace >)  )
private

◆ BOOST_CONCEPT_ASSERT() [4/5]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_CONCEPT_ASSERT ( (concepts::CInteger< Coordinate >)  )

◆ BOOST_CONCEPT_ASSERT() [5/5]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_CONCEPT_ASSERT ( (concepts::CInteger< Integer >)  )

◆ BOOST_STATIC_ASSERT() [1/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< Point, typename DSS::Point >::value)  )

◆ BOOST_STATIC_ASSERT() [2/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< SCell, typename IteratorCirculatorTraits< ConstIterator >::Value >::value)  )

◆ BOOST_STATIC_ASSERT() [3/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::BOOST_STATIC_ASSERT ( (TKSpace::dimension==3)  )
private

◆ dimNotIn()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Dimension DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::dimNotIn ( Dimension const &  aDim1,
Dimension const &  aDim2 
) const
private

Returns the unique dimension in {0,1,2} \ {aDim1, aDim2}.

Parameters
aDim1a dimension
aDim2a dimension

◆ end()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::end ( ) const
Returns
end iterator of the DSS range.

◆ extendBack()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::extendBack ( )

Tests whether the current DSS can be extended at the back. Computes the parameters of the extended DSS if yes.

Returns
'true' if yes, 'false' otherwise.

◆ extendFront()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::extendFront ( )

Tests whether the current DSS can be extended at the front. Computes the parameters of the extended DSS if yes.

Returns
'true' if yes, 'false' otherwise.
Warning
the caller must be sure that the iterator returned
by 'end()' can be safely dereferenced.

◆ front()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::front ( ) const
Returns
the last point of the DSS.

◆ getNextProjectedPoint()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::getNextProjectedPoint ( SCell const &  aSurfel) const

Front end of the projection of a given surfel.

Parameters
aSurfelany signed surfel.
Returns
the second 2D point.
See also
getProjectedPointsFromSurfel

Referenced by extractPoints().

◆ getPreviousProjectedPoint()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::getPreviousProjectedPoint ( SCell const &  aSurfel) const

Back end of the projection of a given surfel.

Parameters
aSurfelany signed surfel.
Returns
the second 2D point.
See also
getProjectedPointsFromSurfel

◆ getProjectedPointsFromLinel()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
std::pair<Point,Point> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::getProjectedPointsFromLinel ( SCell const &  aLinel) const
private

Returns the ends of a unit segment corresponding to the projection of a given signed linel.

Parameters
aLinelany signed linel.
Returns
a pair of 2D points.

◆ getProjectedPointsFromSurfel()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
std::pair<Point,Point> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::getProjectedPointsFromSurfel ( SCell const &  aSurfel) const

Returns the ends of a unit segment corresponding to the projection of a given signed surfel.

Parameters
aSurfelany signed surfel.
Returns
a pair of 2D points.

Referenced by extractPoints().

◆ getReverse()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Reverse DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::getReverse ( ) const
Returns
a default-constructed instance of Reverse

◆ getSelf()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Self DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::getSelf ( ) const
Returns
a default-constructed instance of Self

◆ init()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
void DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::init ( const ConstIterator it)

Initialisation.

Parameters
itan iterator on 3D surfels

◆ isExtendableBack()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::isExtendableBack ( )

Tests whether the current DSS can be extended at the back.

Returns
'true' if yes, 'false' otherwise.

◆ isExtendableFront()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::isExtendableFront ( )

Tests whether the current DSS can be extended at the front.

Returns
'true' if yes, 'false' otherwise.
Warning
the caller must be sure that the iterator returned
by 'end()' can be safely dereferenced.

◆ isValid()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::isValid ( ) const

Checks the validity/consistency of the object.

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

◆ Lf()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Lf ( ) const
Returns
first lower leaning point.

◆ Ll()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Ll ( ) const
Returns
last lower leaning point.

◆ mu()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Integer DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::mu ( ) const
Returns
mu-parameter of the DSS

◆ omega()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Integer DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::omega ( ) const
Returns
omega-parameter of the DSS

◆ operator!=()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::operator!= ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger > &  other) const

Difference operator.

Parameters
otherthe object to compare with.
Returns
'false' if equal 'true' otherwise

◆ operator=()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
ArithmeticalDSSComputerOnSurfels& DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::operator= ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger > &  other)

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'.

◆ operator==()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::operator== ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger > &  other) const

Equality operator.

Parameters
otherthe object to compare with.
Returns
'true' if the DSS representations and the ranges of the two objects match, 'false' otherwise

◆ primitive()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
const Primitive& DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::primitive ( ) const
Returns
the current DSS representation. NB: since we return a const reference, you must copy the result, if you want to keep it beyond the object's existence.

◆ retractBack()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::retractBack ( )

Removes the back point of the DSS if it has more than two points

Returns
'true' if the back point is removed, 'false' otherwise.

◆ retractFront()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::retractFront ( )

Removes the front point of the DSS if it has more than two points

Returns
'true' if the front point is removed, 'false' otherwise.

◆ selfDisplay()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
void DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

◆ Uf()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Uf ( ) const
Returns
first upper leaning point.

◆ Ul()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::Ul ( ) const
Returns
last upper leaning point.

Field Documentation

◆ my2DProjector

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Projector DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::my2DProjector
protected

Functor that projects a 3D point to a 2D point along myProjectionAxis

Definition at line 443 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myBegin

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::myBegin
protected

begin iterator

Definition at line 459 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myDSS

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
DSS DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::myDSS
protected

DSS representation

Definition at line 454 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myEnd

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::myEnd
protected

end iterator

Warning
the user must be sure that it can be safely dereferenced before calling 'isExtendableFront' and 'extendFront'.

Definition at line 467 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myExtractor

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
PairExtractor DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::myExtractor
protected

Smart pointer on an object used to extract relevant points from a pair of points

Definition at line 449 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myKSpace

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
const KSpace* DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::myKSpace
protected

(Pointer to) Khalimsky space

Definition at line 422 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myProjectionAxis

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Dimension DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::myProjectionAxis
protected

A direction along which the points are projected (and orthogonal to the projection plane)

Definition at line 438 of file ArithmeticalDSSComputerOnSurfels.h.

◆ mySliceAxis1

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Dimension DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::mySliceAxis1
protected

A first direction that describes the projection plane

Definition at line 427 of file ArithmeticalDSSComputerOnSurfels.h.

◆ mySliceAxis2

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer>
Dimension DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger >::mySliceAxis2
protected

A second direction that describes the projection plane

Definition at line 432 of file ArithmeticalDSSComputerOnSurfels.h.


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