DGtal  0.9.4beta
Public Types | Public Member Functions | Protected Attributes | Private Member Functions
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > Class Template Reference

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

Collaboration diagram for DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >:
[legend]

Public Types

typedef TInteger Integer
 
typedef std::pair< Integer, IntegerQuotient
 
typedef TIterator ConstIterator
 
typedef StandardDSS6Computer< ConstIterator, TInteger, connectivity > Self
 
typedef StandardDSS6Computer< ReverseIterator< ConstIterator >, TInteger, connectivity > Reverse
 
typedef IteratorCirculatorTraits< ConstIterator >::Value Point3d
 
typedef IteratorCirculatorTraits< ConstIterator >::Value Vector3d
 
typedef Point3d::Coordinate Coordinate
 
typedef DGtal::PointVector< 2, CoordinatePoint2d
 
typedef boost::array< Quotient, 3 > PointR3d
 
typedef functors::Projector< SpaceND< 2, Coordinate > > Projector2d
 
typedef ConstIteratorAdapter< ConstIterator, Projector2d, Point2dIteratorAdapter
 
typedef DGtal::ArithmeticalDSSComputer< IteratorAdapter, TInteger, connectivity > ArithmeticalDSSComputer2d
 

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 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
 
Projector2d myProjXZ
 
Projector2d myProjYZ
 
ArithmeticalDSSComputer2d myXYalgo
 
ArithmeticalDSSComputer2d myXZalgo
 
ArithmeticalDSSComputer2d myYZalgo
 
ConstIterator myBegin
 
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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

Default constructor. not valid

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
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.
template<typename TIterator, typename TInteger, int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::~StandardDSS6Computer ( )
inline

Destructor.

Definition at line 179 of file StandardDSS6Computer.h.

179 {};

Member Function Documentation

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.
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.
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.
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.
template<typename TIterator, typename TInteger, int connectivity>
ConstIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::begin ( ) const
Returns
begin iterator of the 3d DSS range.
template<typename TIterator, typename TInteger, int connectivity>
DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::BOOST_CONCEPT_ASSERT ( (concepts::CInteger< TInteger >)  )
private
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.
template<typename TIterator, typename TInteger, int connectivity>
ConstIterator DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::end ( ) const
Returns
end iterator of the 3d DSS range.
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.
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
template<typename TIterator, typename TInteger, int connectivity>
Reverse DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::getReverse ( ) const
Returns
a default-constructed instance of Reverse.
template<typename TIterator, typename TInteger, int connectivity>
Self DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::getSelf ( ) const
Returns
a default-constructed instance of Self.
template<typename TIterator, typename TInteger, int connectivity>
void DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity >::init ( const ConstIterator it)

Initialisation.

Parameters
itan iterator
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
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.
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
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'.
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
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

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

begin and end iterators

Definition at line 283 of file StandardDSS6Computer.h.

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

Definition at line 283 of file StandardDSS6Computer.h.

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

projectors

Definition at line 275 of file StandardDSS6Computer.h.

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

Definition at line 275 of file StandardDSS6Computer.h.

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

Definition at line 275 of file StandardDSS6Computer.h.

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

2d-arithmeticalDSS recognition algorithms

Definition at line 278 of file StandardDSS6Computer.h.

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

Definition at line 279 of file StandardDSS6Computer.h.

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

Definition at line 280 of file StandardDSS6Computer.h.


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