DGtal  1.2.0
Public Types | Public Member Functions | Protected Attributes | Private Member Functions
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency > Class Template Reference

Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of digital straight segments (DSS) along any sequence of 3D surfels. More...

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

Public Types

typedef TKSpace KSpace
 
typedef KSpace::SCell SCell
 
typedef KSpace::Cell Cell
 
typedef TIterator ConstIterator
 
typedef KSpace::Space::Point Point3
 
typedef PointVector< 2, TInteger > Point
 
typedef Point::Coordinate Coordinate
 
typedef TInteger Integer
 
typedef ArithmeticalDSS< Coordinate, Integer, adjacency > DSS
 
typedef DSS Primitive
 
typedef Point Vector
 
typedef ArithmeticalDSSComputerOnSurfels< KSpace, ConstIterator, TInteger, adjacency > Self
 
typedef ArithmeticalDSSComputerOnSurfels< KSpace, ReverseIterator< ConstIterator >, TInteger, adjacency > 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)
 
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 ()
 
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
 
std::pair< Point, PointprojectSurfel (SCell const &aSCell) const
 
void selfDisplay (std::ostream &out) const
 

Protected Attributes

const KSpacemyKSpace
 
Dimension myDim1
 
Dimension myDim2
 
Point3 myProjection1
 
Point3 myProjection2
 
Point3 myProjectionNormal
 
ConstIterator myPreviousSurfelFront
 
ConstIterator myPreviousSurfelBack
 
DSS myDSS
 
ConstIterator myBegin
 
ConstIterator myEnd
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CCellularGridSpaceND< TKSpace >))
 
 BOOST_STATIC_ASSERT ((TKSpace::dimension==3))
 
bool commonLinel (Cell const &aSurfel1, Cell const &aSurfel2, Cell &aLinel)
 
Point projectInPlane (Point3 const &aPoint) const
 
bool getOtherPointFromSurfel (ConstIterator const &it, Point &aPoint, bool aIsFront, bool aUpdatePrevious)
 

Detailed Description

template<typename TKSpace, typename TIterator, typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
class DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >

Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of digital straight segments (DSS) along any sequence of 3D surfels.

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 82 of file ArithmeticalDSSComputerOnSurfels.h.

Member Typedef Documentation

◆ Cell

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
typedef KSpace::Cell DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::Cell

Type of unsigned cell

Definition at line 103 of file ArithmeticalDSSComputerOnSurfels.h.

◆ ConstIterator

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

Type of iterator, at least readable and forward

Definition at line 108 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Coordinate

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

Type of coordinate

Definition at line 126 of file ArithmeticalDSSComputerOnSurfels.h.

◆ DSS

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
typedef ArithmeticalDSS<Coordinate, Integer, adjacency> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::DSS

Type of objects that represents DSSs

Definition at line 138 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Integer

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
typedef TInteger DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::Integer

Type of integer, devoted to remainders (and intercepts)

Definition at line 132 of file ArithmeticalDSSComputerOnSurfels.h.

◆ KSpace

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

Type of Khalimsky space

Definition at line 93 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Point

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

Type of 2d digital point

Definition at line 121 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Point3

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

Type of 3d digital point

Definition at line 116 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Primitive

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

Type of primitive representation, defined as an alias of DSS

Definition at line 145 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Reverse

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

Definition at line 153 of file ArithmeticalDSSComputerOnSurfels.h.

◆ SCell

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

Type of signed cell

Definition at line 98 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Self

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

Definition at line 152 of file ArithmeticalDSSComputerOnSurfels.h.

◆ Vector

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

Type of vector, defined as an alias of point

Definition at line 150 of file ArithmeticalDSSComputerOnSurfels.h.

Constructor & Destructor Documentation

◆ ArithmeticalDSSComputerOnSurfels() [1/3]

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

Default constructor. not valid

◆ ArithmeticalDSSComputerOnSurfels() [2/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::ArithmeticalDSSComputerOnSurfels ( const KSpace aKSpace,
Dimension  aDim1,
Dimension  aDim2 
)

Constructor.

Parameters
aKSpacea Khalimsky space
aDim1the first direction to project
aDim2the second direction to project

◆ ArithmeticalDSSComputerOnSurfels() [3/3]

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

Copy constructor.

Parameters
otherthe object to clone.

◆ ~ArithmeticalDSSComputerOnSurfels()

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

Destructor.

Definition at line 221 of file ArithmeticalDSSComputerOnSurfels.h.

221 {};

Member Function Documentation

◆ a()

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

◆ b()

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

◆ back()

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

◆ begin()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::BOOST_CONCEPT_ASSERT ( (boost_concepts::ForwardTraversalConcept< ConstIterator >)  )

◆ BOOST_CONCEPT_ASSERT() [2/5]

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

◆ BOOST_CONCEPT_ASSERT() [3/5]

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

◆ BOOST_CONCEPT_ASSERT() [4/5]

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

◆ BOOST_CONCEPT_ASSERT() [5/5]

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

◆ BOOST_STATIC_ASSERT() [1/3]

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::BOOST_STATIC_ASSERT ( (TKSpace::dimension==3)  )
private

◆ commonLinel()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::commonLinel ( Cell const &  aSurfel1,
Cell const &  aSurfel2,
Cell aLinel 
)
private
Parameters
aSurfel1the first unsigned surfel.
aSurfel2the second unsigned surfel.
aLinelthe common unsigned linel if it exists.
Returns
'true' if we found a common linel, 'false' otherwise.

◆ end()

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

◆ extendBack()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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.

◆ front()

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

◆ getOtherPointFromSurfel()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::getOtherPointFromSurfel ( ConstIterator const &  it,
Point aPoint,
bool  aIsFront,
bool  aUpdatePrevious 
)
private
Parameters
itan iterator on a surfel.
aPointthe new 2D point of 'it' that is not common to the previous surfel (if the update is possible).
aUpdatePreviousa boolean that indicates whether to update myPreviousSurfel or not.
aIsFronta boolean indicating we want to update in the front or in the back direction.
Returns
'true' if the update is possible, 'false' otherwise.

◆ getReverse()

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

◆ getSelf()

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

◆ init()

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

Initialisation.

Parameters
itan iterator on 3D surfels

◆ isExtendableBack()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::isExtendableFront ( )

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

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

◆ isValid()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::Lf ( ) const
Returns
first lower leaning point.

◆ Ll()

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

◆ mu()

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

◆ omega()

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

◆ operator!=()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::operator!= ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency > &  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, unsigned short adjacency = 8>
ArithmeticalDSSComputerOnSurfels& DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::operator= ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency > &  other)

Assignment.

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

◆ operator==()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::operator== ( const ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency > &  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, unsigned short adjacency = 8>
const Primitive& DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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.

◆ projectInPlane()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::projectInPlane ( Point3 const &  aPoint) const
private
Parameters
aPointa digital 3D point.
Returns
the 2D orthogonal projection on the plane defined by myProjection1, myProjection2

◆ projectSurfel()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
std::pair<Point, Point> DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::projectSurfel ( SCell const &  aSCell) const
Parameters
aSCella surfel.
Returns
the pair of 2D points projected on the plane defined by myProjection1, myProjection2.

Referenced by extractPoints().

◆ retractBack()

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
bool DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
void DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::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, unsigned short adjacency = 8>
Point DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::Uf ( ) const
Returns
first upper leaning point.

◆ Ul()

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

Field Documentation

◆ myBegin

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

begin iterator

Definition at line 415 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myDim1

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
Dimension DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myDim1
protected

The first projection dimension.

Definition at line 374 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myDim2

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
Dimension DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myDim2
protected

The second projection dimension.

Definition at line 379 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myDSS

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

DSS representation

Definition at line 411 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myEnd

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

end iterator

Definition at line 419 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myKSpace

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

Khalimsky space

Definition at line 369 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myPreviousSurfelBack

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myPreviousSurfelBack
protected

We store the previous surfel in the 'back' direction to compute the common linel. Used in getOtherPointFromSurfel.

Definition at line 406 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myPreviousSurfelFront

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
ConstIterator DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myPreviousSurfelFront
protected

We store the previous surfel in the 'front' direction to compute the common linel. Used in getOtherPointFromSurfel.

Definition at line 400 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myProjection1

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
Point3 DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myProjection1
protected

The first projection direction.

Definition at line 384 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myProjection2

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
Point3 DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myProjection2
protected

The second projection direction.

Definition at line 389 of file ArithmeticalDSSComputerOnSurfels.h.

◆ myProjectionNormal

template<typename TKSpace , typename TIterator , typename TInteger = typename TKSpace::Space::Integer, unsigned short adjacency = 8>
Point3 DGtal::ArithmeticalDSSComputerOnSurfels< TKSpace, TIterator, TInteger, adjacency >::myProjectionNormal
protected

The direction that is orthogonal to the two projection directions.

Definition at line 394 of file ArithmeticalDSSComputerOnSurfels.h.


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