DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DGtal::DigitalSetDomain< TDigitalSet > Class Template Reference

#include <DigitalSetDomain.h>

Inheritance diagram for DGtal::DigitalSetDomain< TDigitalSet >:
Inheritance graph
[legend]
Collaboration diagram for DGtal::DigitalSetDomain< TDigitalSet >:
Collaboration graph
[legend]

Public Types

typedef TDigitalSet DigitalSet
typedef DigitalSet::Domain Domain
typedef Domain::Space Space
typedef Domain::Integer Integer
typedef NumberTraits< Integer >
::IsBounded 
IsBounded
typedef Domain::Point Point
typedef Domain::Vector Vector
typedef Domain::Size Size
typedef Domain::Dimension Dimension
typedef DigitalSet::ConstIterator ConstIterator
typedef SetPredicate< DigitalSetPredicate

Public Member Functions

 ~DigitalSetDomain ()
 DigitalSetDomain (const DigitalSet &aSet)
 DigitalSetDomain (const DigitalSetDomain &other)
ConstIterator begin (const Point &aPoint) const
ConstIterator begin () const
ConstIterator end () const
const PointlowerBound () const
const PointupperBound () const
Size size () const
bool isInside (const Point &p) const
const Predicatepredicate () const
void selfDisplay (std::ostream &out) const
bool isValid () const

Protected Member Functions

 DigitalSetDomain ()

Private Member Functions

DigitalSetDomainoperator= (const DigitalSetDomain &other)

Private Attributes

const DigitalSetmySet
Point myUpperBound
Point myLowerBound
Predicate myPredicate

Detailed Description

template<typename TDigitalSet>
class DGtal::DigitalSetDomain< TDigitalSet >

Aim: Constructs a domain limited to the given digital set.

Description of template class 'DigitalSetDomain'

Definition at line 59 of file DigitalSetDomain.h.


Member Typedef Documentation

template<typename TDigitalSet>
typedef DigitalSet::ConstIterator DGtal::DigitalSetDomain< TDigitalSet >::ConstIterator

Definition at line 72 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef TDigitalSet DGtal::DigitalSetDomain< TDigitalSet >::DigitalSet

Definition at line 63 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef Domain::Dimension DGtal::DigitalSetDomain< TDigitalSet >::Dimension

Definition at line 71 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef DigitalSet::Domain DGtal::DigitalSetDomain< TDigitalSet >::Domain

Definition at line 64 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef Domain::Integer DGtal::DigitalSetDomain< TDigitalSet >::Integer

Definition at line 66 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef NumberTraits<Integer>::IsBounded DGtal::DigitalSetDomain< TDigitalSet >::IsBounded

Definition at line 67 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef Domain::Point DGtal::DigitalSetDomain< TDigitalSet >::Point

Definition at line 68 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef SetPredicate<DigitalSet> DGtal::DigitalSetDomain< TDigitalSet >::Predicate

Definition at line 73 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef Domain::Size DGtal::DigitalSetDomain< TDigitalSet >::Size

Definition at line 70 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef Domain::Space DGtal::DigitalSetDomain< TDigitalSet >::Space

Definition at line 65 of file DigitalSetDomain.h.

template<typename TDigitalSet>
typedef Domain::Vector DGtal::DigitalSetDomain< TDigitalSet >::Vector

Definition at line 69 of file DigitalSetDomain.h.


Constructor & Destructor Documentation

template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::~DigitalSetDomain ( )
inline

Destructor.

Definition at line 44 of file DigitalSetDomain.ih.

{
}
template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::DigitalSetDomain ( const DigitalSet aSet)
inline

Constructor from set.

Parameters:
aSetthe digital set.

Definition at line 51 of file DigitalSetDomain.ih.

References DGtal::DigitalSetDomain< TDigitalSet >::myLowerBound, DGtal::DigitalSetDomain< TDigitalSet >::mySet, and DGtal::DigitalSetDomain< TDigitalSet >::myUpperBound.

: mySet( aSet ), myPredicate( aSet )
{
mySet.computeBoundingBox( myLowerBound, myUpperBound );
}
template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::DigitalSetDomain ( const DigitalSetDomain< TDigitalSet > &  other)
inline

Copy constructor.

Parameters:
otherthe object to clone.

Definition at line 60 of file DigitalSetDomain.ih.

: mySet( other.mySet ),
myLowerBound( other.myLowerBound ),
myUpperBound( other.myUpperBound ),
myPredicate( other.mySet )
{}
template<typename TDigitalSet>
DGtal::DigitalSetDomain< TDigitalSet >::DigitalSetDomain ( )
protected

Constructor. Forbidden by default (protected to avoid g++ warnings).


Member Function Documentation

template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::ConstIterator DGtal::DigitalSetDomain< TDigitalSet >::begin ( const Point aPoint) const
inline
Returns:
an iterator on a given point in the domain.
Parameters:
aPointthe point to get an iterator on.

Definition at line 73 of file DigitalSetDomain.ih.

Referenced by DGtal::DigitalSetDomain< TDigitalSet >::begin().

{
return mySet.find(aPoint);
}
template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::ConstIterator DGtal::DigitalSetDomain< TDigitalSet >::begin ( ) const
inline
Returns:
an iterator on the first element of the domain.

Definition at line 82 of file DigitalSetDomain.ih.

References DGtal::DigitalSetDomain< TDigitalSet >::begin().

{
return mySet.begin();
}
template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::ConstIterator DGtal::DigitalSetDomain< TDigitalSet >::end ( ) const
inline
Returns:
an iterator on the element after the last of the domain.

Definition at line 91 of file DigitalSetDomain.ih.

References DGtal::DigitalSetDomain< TDigitalSet >::end().

Referenced by DGtal::DigitalSetDomain< TDigitalSet >::end().

{
return mySet.end();
}
template<typename TDigitalSet >
bool DGtal::DigitalSetDomain< TDigitalSet >::isInside ( const Point p) const
inline
Parameters:
pany point.
Returns:
'true' if point [p] is inside this domain.

Definition at line 127 of file DigitalSetDomain.ih.

Referenced by DGtal::Expander< TObject >::Expander().

{
// std::cerr << "isInside: p=" << p
// << " lower=" << myLowerBound
// << " islower=" << p.isLower( myUpperBound )
// << " upper=" << myUpperBound
// << " isupper=" << p.isUpper( myLowerBound )
// << std::endl;
return p.isLower( myUpperBound )
&& p.isUpper( myLowerBound )
&& myPredicate( p ); // mySet.find( p ) != end();
}
template<typename TDigitalSet >
bool DGtal::DigitalSetDomain< TDigitalSet >::isValid ( ) const
inline

Checks the validity/consistency of the object.

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

Definition at line 161 of file DigitalSetDomain.ih.

{
return true;
}
template<typename TDigitalSet >
const DGtal::DigitalSetDomain< TDigitalSet >::Point & DGtal::DigitalSetDomain< TDigitalSet >::lowerBound ( ) const
inline

Returns the lowest point of the space diagonal.

Definition at line 100 of file DigitalSetDomain.ih.

{
return myLowerBound;
}
template<typename TDigitalSet>
DigitalSetDomain& DGtal::DigitalSetDomain< TDigitalSet >::operator= ( const DigitalSetDomain< TDigitalSet > &  other)
private

Assignment.

Parameters:
otherthe object to copy.
Returns:
a reference on 'this'. Forbidden by default.
template<typename TDigitalSet >
const DGtal::DigitalSetDomain< TDigitalSet >::Predicate & DGtal::DigitalSetDomain< TDigitalSet >::predicate ( ) const
inline
template<typename TDigitalSet >
void DGtal::DigitalSetDomain< TDigitalSet >::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 153 of file DigitalSetDomain.ih.

{
out << "[DigitalSetDomain set=" << mySet << "]";
}
template<typename TDigitalSet >
DGtal::DigitalSetDomain< TDigitalSet >::Size DGtal::DigitalSetDomain< TDigitalSet >::size ( ) const
inline

Returns the size.

Definition at line 118 of file DigitalSetDomain.ih.

References DGtal::DigitalSetDomain< TDigitalSet >::size().

Referenced by DGtal::DigitalSetDomain< TDigitalSet >::size().

{
return mySet.size();
}
template<typename TDigitalSet >
const DGtal::DigitalSetDomain< TDigitalSet >::Point & DGtal::DigitalSetDomain< TDigitalSet >::upperBound ( ) const
inline

Returns the highest point of the space diagonal.

Definition at line 109 of file DigitalSetDomain.ih.

{
return myUpperBound;
}

Field Documentation

template<typename TDigitalSet>
Point DGtal::DigitalSetDomain< TDigitalSet >::myLowerBound
private

lower bound of the bounding box.

Definition at line 177 of file DigitalSetDomain.h.

Referenced by DGtal::DigitalSetDomain< TDigitalSet >::DigitalSetDomain().

template<typename TDigitalSet>
Predicate DGtal::DigitalSetDomain< TDigitalSet >::myPredicate
private

The "IsInside" predicate.

Definition at line 180 of file DigitalSetDomain.h.

template<typename TDigitalSet>
const DigitalSet& DGtal::DigitalSetDomain< TDigitalSet >::mySet
private

The set describing the points of the domain.

Definition at line 167 of file DigitalSetDomain.h.

Referenced by DGtal::DigitalSetDomain< TDigitalSet >::DigitalSetDomain().

template<typename TDigitalSet>
Point DGtal::DigitalSetDomain< TDigitalSet >::myUpperBound
private

upper bound of the bounding box.

Definition at line 172 of file DigitalSetDomain.h.

Referenced by DGtal::DigitalSetDomain< TDigitalSet >::DigitalSetDomain().


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