DGtal
0.6.devel
|
#include <HyperRectDomain.h>
Data Structures | |
struct | ConstSubRange |
Aim: range through some subdomain of all the points in the domain. Defines a constructor taking a domain in parameter plus some additional parameters to specify the subdomain, begin and end methods returning ConstIterator, and rbegin and rend methods returning ConstReverseIterator. More... |
Public Types | |
typedef HyperRectDomain< TSpace > | Self |
typedef TSpace | Space |
typedef HyperRectDomain< Space > | Domain |
typedef Space::Point | Point |
typedef Space::Integer | Integer |
typedef Space::Vector | Vector |
typedef Space::Dimension | Dimension |
typedef Space::Size | Size |
typedef Point::Coordinate | Coordinate |
typedef HyperRectDomain_Iterator < Point > | Iterator |
typedef myreverse_iterator < Iterator > | ReverseIterator |
typedef Iterator | ConstIterator |
typedef ReverseIterator | ConstReverseIterator |
typedef IsWithinPointPredicate < Point > | Predicate |
Public Member Functions | |
HyperRectDomain () | |
HyperRectDomain (const Point &aPointA, const Point &aPointB) | |
~HyperRectDomain () | |
HyperRectDomain (const HyperRectDomain &other) | |
HyperRectDomain & | operator= (const HyperRectDomain &other) |
const ConstIterator & | begin () const |
ConstIterator | begin (const Point &aPoint) const |
const ConstIterator & | end () const |
ConstReverseIterator | rbegin () const |
ConstReverseIterator | rbegin (const Point &aPoint) const |
ConstReverseIterator | rend () const |
ConstSubRange | subRange (const std::vector< Dimension > &permutation) const |
ConstSubRange | subRange (const std::vector< Dimension > &permutation, const Point &startingPoint) const |
ConstSubRange | subRange (Dimension adim, const Point &startingPoint) const |
ConstSubRange | subRange (Dimension adim1, Dimension adim2, const Point &startingPoint) const |
ConstSubRange | subRange (Dimension adim1, Dimension adim2, Dimension adim3, const Point &startingPoint) const |
Vector | extent () const |
Size | size () const |
const Point & | lowerBound () const |
const Point & | upperBound () const |
bool | isInside (const Point &p) const |
const Predicate & | predicate () const |
std::string | className () const |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Data Fields | |
Point | myLowerBound |
Point | myUpperBound |
Static Public Attributes | |
static const Space::Dimension | dimension = Space::dimension |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((CSpace< TSpace >)) |
Private Attributes | |
Predicate | myPredicate |
ConstIterator | myIteratorBegin |
ConstIterator | myIteratorEnd |
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
Description of class 'HyperRectDomain'
The following code snippet demonstrates how to use HyperRectDomain
Definition at line 92 of file HyperRectDomain.h.
typedef Iterator DGtal::HyperRectDomain< TSpace >::ConstIterator |
Definition at line 119 of file HyperRectDomain.h.
typedef ReverseIterator DGtal::HyperRectDomain< TSpace >::ConstReverseIterator |
Definition at line 120 of file HyperRectDomain.h.
typedef Point::Coordinate DGtal::HyperRectDomain< TSpace >::Coordinate |
Definition at line 114 of file HyperRectDomain.h.
typedef Space::Dimension DGtal::HyperRectDomain< TSpace >::Dimension |
Definition at line 112 of file HyperRectDomain.h.
typedef HyperRectDomain<Space> DGtal::HyperRectDomain< TSpace >::Domain |
Definition at line 108 of file HyperRectDomain.h.
typedef Space::Integer DGtal::HyperRectDomain< TSpace >::Integer |
Definition at line 110 of file HyperRectDomain.h.
typedef HyperRectDomain_Iterator<Point> DGtal::HyperRectDomain< TSpace >::Iterator |
Typedef of domain iterators.
Definition at line 117 of file HyperRectDomain.h.
typedef Space::Point DGtal::HyperRectDomain< TSpace >::Point |
Definition at line 109 of file HyperRectDomain.h.
typedef IsWithinPointPredicate<Point> DGtal::HyperRectDomain< TSpace >::Predicate |
Definition at line 122 of file HyperRectDomain.h.
typedef myreverse_iterator<Iterator> DGtal::HyperRectDomain< TSpace >::ReverseIterator |
Definition at line 118 of file HyperRectDomain.h.
typedef HyperRectDomain<TSpace> DGtal::HyperRectDomain< TSpace >::Self |
Definition at line 99 of file HyperRectDomain.h.
typedef Space::Size DGtal::HyperRectDomain< TSpace >::Size |
Definition at line 113 of file HyperRectDomain.h.
typedef TSpace DGtal::HyperRectDomain< TSpace >::Space |
Definition at line 103 of file HyperRectDomain.h.
typedef Space::Vector DGtal::HyperRectDomain< TSpace >::Vector |
Definition at line 111 of file HyperRectDomain.h.
|
inline |
Default Constructor.
Definition at line 40 of file HyperRectDomain.ih.
References DGtal::HyperRectDomain< TSpace >::myIteratorEnd.
|
inline |
Constructor from two points
aPointA | and |
aPointB | defining the space diagonal. |
Definition at line 54 of file HyperRectDomain.ih.
References DGtal::HyperRectDomain< TSpace >::myIteratorEnd.
|
inline |
DGtal::HyperRectDomain< TSpace >::HyperRectDomain | ( | const HyperRectDomain< TSpace > & | other | ) |
Copy constructor.
other | the object to clone. Forbidden by default. |
|
inline |
Definition at line 162 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::myIteratorBegin.
Referenced by DGtal::HyperRectDomain< TSpace >::rbegin(), and DGtal::HyperRectDomain< TSpace >::rend().
|
inline |
Definition at line 171 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::isInside(), DGtal::HyperRectDomain< TSpace >::myLowerBound, and DGtal::HyperRectDomain< TSpace >::myUpperBound.
|
private |
|
inline |
Default drawing style object.
Definition at line 169 of file HyperRectDomain.ih.
Referenced by DGtal::Display3DFactory::draw(), and DGtal::Display2DFactory::draw().
|
inline |
Definition at line 180 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::myIteratorEnd.
Referenced by DGtal::HyperRectDomain< TSpace >::rbegin().
|
inline |
Definition at line 488 of file HyperRectDomain.h.
References DGtal::PointVector< dim, Integer >::diagonal(), DGtal::HyperRectDomain< TSpace >::myLowerBound, and DGtal::HyperRectDomain< TSpace >::myUpperBound.
Referenced by DGtal::HyperRectDomain< TSpace >::size().
|
inline |
p | any point. |
Definition at line 126 of file HyperRectDomain.ih.
Referenced by DGtal::HyperRectDomain< TSpace >::begin(), and DGtal::HyperRectDomain< TSpace >::rbegin().
|
inline |
Checks the validity/consistency of the object.
Definition at line 160 of file HyperRectDomain.ih.
|
inline |
Returns the lowest point of the space diagonal.
Definition at line 118 of file HyperRectDomain.ih.
|
inline |
Assignment.
other | the object to copy. |
Definition at line 92 of file HyperRectDomain.ih.
References DGtal::HyperRectDomain< TSpace >::myLowerBound.
|
inline |
NB: Could have used template class DomainPredicate but, for performance reason, directly used the IsWithinPointPredicate which fits perfectly.
Definition at line 135 of file HyperRectDomain.ih.
|
inline |
Definition at line 187 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::end().
|
inline |
Definition at line 196 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::begin(), and DGtal::HyperRectDomain< TSpace >::isInside().
|
inline |
Definition at line 205 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::begin().
|
inline |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
Definition at line 151 of file HyperRectDomain.ih.
|
inline |
Definition at line 498 of file HyperRectDomain.h.
References DGtal::PointVector< dim, TEuclideanRing >::begin(), DGtal::PointVector< dim, TEuclideanRing >::end(), and DGtal::HyperRectDomain< TSpace >::extent().
|
inline |
get a subRange.
permutation | a vector containing the dimensions used for the subrange. Dimensions are iterated in the given order. |
Definition at line 408 of file HyperRectDomain.h.
References DGtal::HyperRectDomain< TSpace >::myLowerBound.
Referenced by DGtal::DistanceTransformation< TSpace, TPointPredicate, p, IntegerLong >::computeFirstStep(), DGtal::VoronoiMap< TSpace, TPointPredicate, p >::computeOtherSteps(), and DGtal::DistanceTransformation< TSpace, TPointPredicate, p, IntegerLong >::computeOtherSteps().
|
inline |
get a subRange from an initial point.
permutation | a vector containing the dimensions used for the subrange. Dimensions are iterated in the given order. |
startingPoint | the initial point. |
Definition at line 419 of file HyperRectDomain.h.
|
inline |
get a subRange of one dimension.
adim | the dimension of the subrange. |
startingPoint | the initial point. |
Definition at line 430 of file HyperRectDomain.h.
|
inline |
get a subRange of two dimensions.
adim1 | the first dimension of the subrange. |
adim2 | the second dimension of the subrange. |
startingPoint | the initial point. |
Definition at line 442 of file HyperRectDomain.h.
|
inline |
get a subRange of three dimensions.
adim1 | the first dimension of the subrange. |
adim2 | the second dimension of the subrange. |
adim3 | the third dimension of the subrange. |
startingPoint | the initial point. |
Definition at line 455 of file HyperRectDomain.h.
|
inline |
Returns the highest point of the space diagonal.
Definition at line 143 of file HyperRectDomain.ih.
|
static |
Definition at line 106 of file HyperRectDomain.h.
|
private |
Begin iterator.
Definition at line 585 of file HyperRectDomain.h.
Referenced by DGtal::HyperRectDomain< TSpace >::begin().
|
private |
End iterator.
Definition at line 587 of file HyperRectDomain.h.
Referenced by DGtal::HyperRectDomain< TSpace >::end(), and DGtal::HyperRectDomain< TSpace >::HyperRectDomain().
Point DGtal::HyperRectDomain< TSpace >::myLowerBound |
The lowest point of the space diagonal.
Definition at line 575 of file HyperRectDomain.h.
Referenced by DGtal::HyperRectDomain< TSpace >::begin(), DGtal::Display3DFactory::drawAsBoundingBox(), DGtal::Display3DFactory::drawAsGrid(), DGtal::Display2DFactory::drawAsGrid(), DGtal::Display3DFactory::drawAsPaving(), DGtal::Display2DFactory::drawAsPaving(), DGtal::Display3DFactory::drawAsPavingPoints(), DGtal::HyperRectDomain< TSpace >::extent(), DGtal::HyperRectDomain< TSpace >::operator=(), and DGtal::HyperRectDomain< TSpace >::subRange().
|
private |
"IsInside" predicate.
Definition at line 582 of file HyperRectDomain.h.
Point DGtal::HyperRectDomain< TSpace >::myUpperBound |
The highest point of the space diagonal.
Definition at line 577 of file HyperRectDomain.h.
Referenced by DGtal::HyperRectDomain< TSpace >::begin(), DGtal::Display3DFactory::drawAsBoundingBox(), DGtal::Display3DFactory::drawAsGrid(), DGtal::Display2DFactory::drawAsGrid(), DGtal::Display3DFactory::drawAsPaving(), DGtal::Display2DFactory::drawAsPaving(), DGtal::Display3DFactory::drawAsPavingPoints(), and DGtal::HyperRectDomain< TSpace >::extent().