DGtal 1.4.0
Loading...
Searching...
No Matches
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > Class Template Reference

Aim: Dynamic recognition of a 3d-digital straight segment (DSS) More...

#include <DGtal/geometry/curves/StandardDSS6Computer.h>

Public Types

typedef TInteger Integer
 Type of integer, devoted to remainders (and intercepts)
 
typedef std::pair< Integer, IntegerQuotient
 Type which represent quotient of two integers first/second.
 
typedef TIterator ConstIterator
 Type of iterator, at least readable and forward.
 
typedef StandardDSS6Computer< ConstIterator, TInteger, connectivity > Self
 Self type.
 
typedef StandardDSS6Computer< ReverseIterator< ConstIterator >, TInteger, connectivity > Reverse
 Reverse type.
 
typedef IteratorCirculatorTraits< ConstIterator >::Value Point3d
 Type of 3d digital point.
 
typedef IteratorCirculatorTraits< ConstIterator >::Value Vector3d
 Type of 3d digital vector.
 
typedef Point3d::Coordinate Coordinate
 Type of 3d digital point coordinate.
 
typedef DGtal::PointVector< 2, CoordinatePoint2d
 Type of 2d digital point.
 
typedef boost::array< Quotient, 3 > PointR3d
 Type of 3d rational point.
 
typedef functors::Projector< SpaceND< 2, Coordinate > > Projector2d
 Adapter for iterators.
 
typedef ConstIteratorAdapter< ConstIterator, Projector2d, Point2dIteratorAdapter
 Iterator over adapter.
 
typedef DGtal::ArithmeticalDSSComputer< IteratorAdapter, TInteger, connectivity > ArithmeticalDSSComputer2d
 2D arithmetical DSS recognition algorithm
 

Public Member Functions

 StandardDSS6Computer ()
 
 StandardDSS6Computer (const ConstIterator &it)
 
void init (const ConstIterator &it)
 
 StandardDSS6Computer (const StandardDSS6Computer &other)
 
StandardDSS6Computeroperator= (const StandardDSS6Computer &other)
 
Self getSelf () const
 
Reverse getReverse () const
 
bool isInDSS (const Point3d &aPoint) const
 
bool isInDSS (const ConstIterator &it) const
 
bool operator== (const StandardDSS6Computer &other) const
 
bool operator!= (const StandardDSS6Computer &other) const
 
 ~StandardDSS6Computer ()
 
bool extendFront ()
 
bool isExtendableFront ()
 
void getParameters (Vector3d &direction, PointR3d &intercept, PointR3d &thickness) const
 
bool isValid () const
 
ConstIterator begin () const
 
ConstIterator end () const
 
const ArithmeticalDSSComputer2darithmeticalDSS2dXY () const
 
const ArithmeticalDSSComputer2darithmeticalDSS2dXZ () const
 
const ArithmeticalDSSComputer2darithmeticalDSS2dYZ () const
 
const ArithmeticalDSSComputer2darithmeticalDSS2d (Dimension i) const
 
std::string className () const
 
void selfDisplay (std::ostream &out) const
 

Protected Attributes

Projector2d myProjXY
 projectors
 
Projector2d myProjXZ
 
Projector2d myProjYZ
 
ArithmeticalDSSComputer2d myXYalgo
 2d-arithmeticalDSS recognition algorithms
 
ArithmeticalDSSComputer2d myXZalgo
 
ArithmeticalDSSComputer2d myYZalgo
 
ConstIterator myBegin
 begin and end iterators
 
ConstIterator myEnd
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CInteger< TInteger >))
 

Detailed Description

template<typename TIterator, typename TInteger, int connectivity>
class DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >

Aim: Dynamic recognition of a 3d-digital straight segment (DSS)

Description of class 'StandardDSS6Computer'

Examples
geometry/curves/exampleArithDSS3d.cpp.

Definition at line 76 of file StandardDSS6Computer.h.

Member Typedef Documentation

◆ ArithmeticalDSSComputer2d

template<typename TIterator , typename TInteger , int connectivity>
typedef DGtal::ArithmeticalDSSComputer< IteratorAdapter, TInteger, connectivity > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::ArithmeticalDSSComputer2d

2D arithmetical DSS recognition algorithm

Definition at line 107 of file StandardDSS6Computer.h.

◆ ConstIterator

template<typename TIterator , typename TInteger , int connectivity>
typedef TIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::ConstIterator

Type of iterator, at least readable and forward.

Definition at line 87 of file StandardDSS6Computer.h.

◆ Coordinate

template<typename TIterator , typename TInteger , int connectivity>
typedef Point3d::Coordinate DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Coordinate

Type of 3d digital point coordinate.

Definition at line 97 of file StandardDSS6Computer.h.

◆ Integer

template<typename TIterator , typename TInteger , int connectivity>
typedef TInteger DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Integer

Type of integer, devoted to remainders (and intercepts)

Definition at line 83 of file StandardDSS6Computer.h.

◆ IteratorAdapter

template<typename TIterator , typename TInteger , int connectivity>
typedef ConstIteratorAdapter< ConstIterator, Projector2d, Point2d > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::IteratorAdapter

Iterator over adapter.

Definition at line 105 of file StandardDSS6Computer.h.

◆ Point2d

template<typename TIterator , typename TInteger , int connectivity>
typedef DGtal::PointVector< 2, Coordinate > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Point2d

Type of 2d digital point.

Definition at line 99 of file StandardDSS6Computer.h.

◆ Point3d

template<typename TIterator , typename TInteger , int connectivity>
typedef IteratorCirculatorTraits<ConstIterator>::Value DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Point3d

Type of 3d digital point.

Definition at line 93 of file StandardDSS6Computer.h.

◆ PointR3d

template<typename TIterator , typename TInteger , int connectivity>
typedef boost::array< Quotient, 3 > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::PointR3d

Type of 3d rational point.

Definition at line 101 of file StandardDSS6Computer.h.

◆ Projector2d

template<typename TIterator , typename TInteger , int connectivity>
typedef functors::Projector< SpaceND< 2, Coordinate > > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Projector2d

Adapter for iterators.

Definition at line 103 of file StandardDSS6Computer.h.

◆ Quotient

template<typename TIterator , typename TInteger , int connectivity>
typedef std::pair<Integer, Integer> DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Quotient

Type which represent quotient of two integers first/second.

Definition at line 85 of file StandardDSS6Computer.h.

◆ Reverse

template<typename TIterator , typename TInteger , int connectivity>
typedef StandardDSS6Computer< ReverseIterator< ConstIterator >,TInteger, connectivity > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Reverse

Reverse type.

Definition at line 91 of file StandardDSS6Computer.h.

◆ Self

template<typename TIterator , typename TInteger , int connectivity>
typedef StandardDSS6Computer< ConstIterator, TInteger, connectivity > DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Self

Self type.

Definition at line 89 of file StandardDSS6Computer.h.

◆ Vector3d

template<typename TIterator , typename TInteger , int connectivity>
typedef IteratorCirculatorTraits<ConstIterator>::Value DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::Vector3d

Type of 3d digital vector.

Definition at line 95 of file StandardDSS6Computer.h.

Constructor & Destructor Documentation

◆ StandardDSS6Computer() [1/3]

template<typename TIterator , typename TInteger , int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::StandardDSS6Computer ( )

Default constructor. not valid

◆ StandardDSS6Computer() [2/3]

template<typename TIterator , typename TInteger , int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::StandardDSS6Computer ( const ConstIterator & it)

Constructor with initialisation

Parameters
itan iterator
See also
init

◆ StandardDSS6Computer() [3/3]

template<typename TIterator , typename TInteger , int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::StandardDSS6Computer ( const StandardDSS6Computer< TIterator, TInteger, connectivity > & other)

Copy constructor.

Parameters
otherthe object to clone.

◆ ~StandardDSS6Computer()

template<typename TIterator , typename TInteger , int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::~StandardDSS6Computer ( )
inline

Destructor.

Definition at line 191 of file StandardDSS6Computer.h.

191{};

Member Function Documentation

◆ arithmeticalDSS2d()

template<typename TIterator , typename TInteger , int connectivity>
const ArithmeticalDSSComputer2d & DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::arithmeticalDSS2d ( Dimension i) const
Parameters
ithe axis orthogonal to the plane
Returns
a const-reference on the arithmetical DSS recognition algorithm along the plane orthogonal to the i-th axis.

◆ arithmeticalDSS2dXY()

template<typename TIterator , typename TInteger , int connectivity>
const ArithmeticalDSSComputer2d & DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::arithmeticalDSS2dXY ( ) const
Returns
a const-reference on the arithmetical DSS recognition algorithm along the XY plane.

◆ arithmeticalDSS2dXZ()

template<typename TIterator , typename TInteger , int connectivity>
const ArithmeticalDSSComputer2d & DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::arithmeticalDSS2dXZ ( ) const
Returns
a const-reference on the arithmetical DSS recognition algorithm along the XZ plane.

◆ arithmeticalDSS2dYZ()

template<typename TIterator , typename TInteger , int connectivity>
const ArithmeticalDSSComputer2d & DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::arithmeticalDSS2dYZ ( ) const
Returns
a const-reference on the arithmetical DSS recognition algorithm along the YZ plane.

◆ begin()

template<typename TIterator , typename TInteger , int connectivity>
ConstIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::begin ( ) const
Returns
begin iterator of the 3d DSS range.

◆ BOOST_CONCEPT_ASSERT()

template<typename TIterator , typename TInteger , int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::BOOST_CONCEPT_ASSERT ( (concepts::CInteger< TInteger >) )
private

◆ className()

template<typename TIterator , typename TInteger , int connectivity>
std::string DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::className ( ) const
Returns
the style name used for drawing this object.

◆ end()

template<typename TIterator , typename TInteger , int connectivity>
ConstIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::end ( ) const
Returns
end iterator of the 3d DSS range.

◆ extendFront()

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::extendFront ( )

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

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

◆ getParameters()

template<typename TIterator , typename TInteger , int connectivity>
void DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::getParameters ( Vector3d & direction,
PointR3d & intercept,
PointR3d & thickness ) const

Computes the parameters (direction, intercept, thickness) of the DSS

Parameters
directiondirection
interceptintercept
thicknessthickness

◆ getReverse()

template<typename TIterator , typename TInteger , int connectivity>
Reverse DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::getReverse ( ) const
Returns
a default-constructed instance of Reverse.

◆ getSelf()

template<typename TIterator , typename TInteger , int connectivity>
Self DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::getSelf ( ) const
Returns
a default-constructed instance of Self.

◆ init()

template<typename TIterator , typename TInteger , int connectivity>
void DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::init ( const ConstIterator & it)

Initialisation.

Parameters
itan iterator

◆ isExtendableFront()

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::isExtendableFront ( )

Tests whether the 3d DSS can be extended at the front.

Returns
'true' if yes, 'false' otherwise

◆ isInDSS() [1/2]

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::isInDSS ( const ConstIterator & it) const

Checks whether a point belongs to the DSS or not

Parameters
itan iterator on the point to be checked
Returns
'true' if yes, 'false' otherwise

◆ isInDSS() [2/2]

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::isInDSS ( const Point3d & aPoint) const

Checks whether a point belongs to the DSS or not

Parameters
aPointthe point to be checked
Returns
'true' if yes, 'false' otherwise

◆ isValid()

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::isValid ( ) const

Checks the validity/consistency of the object.

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

◆ operator!=()

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::operator!= ( const StandardDSS6Computer< TIterator, TInteger, connectivity > & other) const

Difference operator.

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

◆ operator=()

template<typename TIterator , typename TInteger , int connectivity>
StandardDSS6Computer & DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::operator= ( const StandardDSS6Computer< TIterator, TInteger, connectivity > & other)

Assignment.

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

◆ operator==()

template<typename TIterator , typename TInteger , int connectivity>
bool DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::operator== ( const StandardDSS6Computer< TIterator, TInteger, connectivity > & other) const

Equality operator.

Parameters
otherthe object to compare with.
Returns
'true' either if the leaning points perfectly match or if the first leaning points match to the last ones (same DSS scanned in the reverse way) and 'false' otherwise

◆ selfDisplay()

template<typename TIterator , typename TInteger , int connectivity>
void DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::selfDisplay ( std::ostream & out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

Field Documentation

◆ myBegin

template<typename TIterator , typename TInteger , int connectivity>
ConstIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myBegin
protected

begin and end iterators

Definition at line 295 of file StandardDSS6Computer.h.

◆ myEnd

template<typename TIterator , typename TInteger , int connectivity>
ConstIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myEnd
protected

Definition at line 295 of file StandardDSS6Computer.h.

◆ myProjXY

template<typename TIterator , typename TInteger , int connectivity>
Projector2d DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myProjXY
protected

projectors

Definition at line 287 of file StandardDSS6Computer.h.

◆ myProjXZ

template<typename TIterator , typename TInteger , int connectivity>
Projector2d DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myProjXZ
protected

Definition at line 287 of file StandardDSS6Computer.h.

◆ myProjYZ

template<typename TIterator , typename TInteger , int connectivity>
Projector2d DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myProjYZ
protected

Definition at line 287 of file StandardDSS6Computer.h.

◆ myXYalgo

template<typename TIterator , typename TInteger , int connectivity>
ArithmeticalDSSComputer2d DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myXYalgo
protected

2d-arithmeticalDSS recognition algorithms

Definition at line 290 of file StandardDSS6Computer.h.

◆ myXZalgo

template<typename TIterator , typename TInteger , int connectivity>
ArithmeticalDSSComputer2d DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myXZalgo
protected

Definition at line 291 of file StandardDSS6Computer.h.

◆ myYZalgo

template<typename TIterator , typename TInteger , int connectivity>
ArithmeticalDSSComputer2d DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::myYZalgo
protected

Definition at line 292 of file StandardDSS6Computer.h.


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