DGtal
0.6.devel
|
#include <GaussDigitizer.h>
Public Types | |
typedef TSpace | Space |
typedef Space::Integer | Integer |
typedef Space::Point | Point |
typedef Space::Vector | Vector |
typedef Space::RealPoint | RealPoint |
typedef Space::RealPoint | RealVector |
typedef TEuclideanShape | EuclideanShape |
typedef HyperRectDomain< Space > | Domain |
typedef RegularPointEmbedder < Space > | PointEmbedder |
Public Member Functions | |
BOOST_CONCEPT_ASSERT ((CEuclideanOrientedShape< TEuclideanShape >)) | |
~GaussDigitizer () | |
GaussDigitizer () | |
GaussDigitizer & | operator= (const GaussDigitizer &other) |
void | attach (const EuclideanShape &shape) |
void | init (const RealPoint &xLow, const RealPoint &xUp, typename RealVector::Component gridStep) |
void | init (const RealPoint &xLow, const RealPoint &xUp, const RealVector &gridSteps) |
const PointEmbedder & | pointEmbedder () const |
Domain | getDomain () const |
Point | floor (const RealPoint &p) const |
Point | ceil (const RealPoint &p) const |
Point | round (const RealPoint &p) const |
RealPoint | embed (const Point &p) const |
Orientation | orientation (const Point &p) const |
bool | operator() (const Point &p) const |
const Point & | getLowerBound () const |
const Point & | getUpperBound () const |
Vector | resolution () const |
RealVector | gridSteps () const |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Protected Attributes | |
const EuclideanShape * | myEShape |
RegularPointEmbedder< Space > | myPointEmbedder |
Point | myLowerPoint |
Point | myUpperPoint |
Aim: A class for computing the Gauss digitization of some Euclidean shape, i.e. its intersection with some \( h_1 Z \times h_2 Z \times \cdots \times h_n Z \). Note that the real point (0,...,0) is mapped onto the digital point (0,...,0).
Description of template class 'GaussDigitizer'
GaussDigitizer is a model of CDigitalEuclideanShape and CDigitalBoundedShape. It is thus a model of CPointPredicate. A Gauss digitizer owns a RegularPointEmbedder, a model of CPointEmbedder.
TSpace | the type of digital Space where the digitized object lies. |
TEuclideanShape | a model of CEuclideanOrientedShape and CEuclideanBoundedShape |
Definition at line 77 of file GaussDigitizer.h.
typedef HyperRectDomain<Space> DGtal::GaussDigitizer< TSpace, TEuclideanShape >::Domain |
Definition at line 88 of file GaussDigitizer.h.
typedef TEuclideanShape DGtal::GaussDigitizer< TSpace, TEuclideanShape >::EuclideanShape |
Definition at line 87 of file GaussDigitizer.h.
typedef Space::Integer DGtal::GaussDigitizer< TSpace, TEuclideanShape >::Integer |
Definition at line 82 of file GaussDigitizer.h.
typedef Space::Point DGtal::GaussDigitizer< TSpace, TEuclideanShape >::Point |
Definition at line 83 of file GaussDigitizer.h.
typedef RegularPointEmbedder<Space> DGtal::GaussDigitizer< TSpace, TEuclideanShape >::PointEmbedder |
Definition at line 89 of file GaussDigitizer.h.
typedef Space::RealPoint DGtal::GaussDigitizer< TSpace, TEuclideanShape >::RealPoint |
Definition at line 85 of file GaussDigitizer.h.
typedef Space::RealPoint DGtal::GaussDigitizer< TSpace, TEuclideanShape >::RealVector |
Definition at line 86 of file GaussDigitizer.h.
typedef TSpace DGtal::GaussDigitizer< TSpace, TEuclideanShape >::Space |
Definition at line 81 of file GaussDigitizer.h.
typedef Space::Vector DGtal::GaussDigitizer< TSpace, TEuclideanShape >::Vector |
Definition at line 84 of file GaussDigitizer.h.
|
inline |
|
inline |
Constructor. The object is not valid.
Definition at line 52 of file GaussDigitizer.ih.
|
inline |
shape | the digitizer now references the given shape. |
Definition at line 76 of file GaussDigitizer.ih.
Referenced by DGtal::Shapes< TDomain >::euclideanShaper().
DGtal::GaussDigitizer< TSpace, TEuclideanShape >::BOOST_CONCEPT_ASSERT | ( | (CEuclideanOrientedShape< TEuclideanShape >) | ) |
|
inline |
p | any point in the Euclidean space. |
Definition at line 138 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::ceil().
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::ceil().
|
inline |
Map a digital point to its corresponding point in the Eucldiean space.
p | any digital point in the digital space. |
Definition at line 156 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::embed().
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::embed(), and DGtal::GaussDigitizer< TSpace, TEuclideanShape >::orientation().
|
inline |
p | any point in the Euclidean space. |
Definition at line 129 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::floor().
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::floor().
|
inline |
Definition at line 119 of file GaussDigitizer.ih.
|
inline |
Definition at line 175 of file GaussDigitizer.ih.
|
inline |
Definition at line 184 of file GaussDigitizer.ih.
|
inline |
Definition at line 202 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::gridSteps().
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::gridSteps().
|
inline |
Initializes the digital bounds of the digitizer so as to cover at least the space specified by [xLow] and [xUp]. The real value [gridStep] specifies the same grid step in every direction.
xLow | Euclidean lower bound for the digitizer. |
xUp | Euclidean upper bound for the digitizer. |
gridStep | the grid step (distance between two embedded adjacent digital points) identical in every direction. |
Definition at line 85 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::init().
Referenced by DGtal::Shapes< TDomain >::euclideanShaper(), and DGtal::GaussDigitizer< TSpace, TEuclideanShape >::init().
|
inline |
Initializes the digital bounds of the digitizer so as to cover at least the space specified by [xLow] and [xUp]. The real vector [gridSteps] specifies the grid steps in each direction.
xLow | Euclidean lower bound for the digitizer. |
xUp | Euclidean upper bound for the digitizer. |
gridSteps | the grid steps in each direction. |
Definition at line 97 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::init().
|
inline |
Checks the validity/consistency of the object.
Definition at line 230 of file GaussDigitizer.ih.
|
inline |
p | any point in the digital plane. |
Definition at line 165 of file GaussDigitizer.ih.
References DGtal::INSIDE.
|
inline |
Assignment. Required by CPointPredicate.
other | the object to copy. |
Definition at line 60 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::myEShape, DGtal::GaussDigitizer< TSpace, TEuclideanShape >::myLowerPoint, DGtal::GaussDigitizer< TSpace, TEuclideanShape >::myPointEmbedder, and DGtal::GaussDigitizer< TSpace, TEuclideanShape >::myUpperPoint.
|
inline |
Orientation method to match with CDigitalOrientedShape concept.
p | a digital point |
Definition at line 196 of file GaussDigitizer.h.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::embed(), and DGtal::GaussDigitizer< TSpace, TEuclideanShape >::myEShape.
|
inline |
Definition at line 110 of file GaussDigitizer.ih.
|
inline |
Definition at line 193 of file GaussDigitizer.ih.
|
inline |
p | any point in the Euclidean space. |
Definition at line 147 of file GaussDigitizer.ih.
References DGtal::GaussDigitizer< TSpace, TEuclideanShape >::round().
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::round().
|
inline |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
Definition at line 218 of file GaussDigitizer.ih.
|
protected |
The referenced shape or 0 if not initialized.
Definition at line 250 of file GaussDigitizer.h.
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::operator=(), and DGtal::GaussDigitizer< TSpace, TEuclideanShape >::orientation().
|
protected |
Digital lowest point.
Definition at line 256 of file GaussDigitizer.h.
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::operator=().
|
protected |
The embedder.
Definition at line 253 of file GaussDigitizer.h.
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::operator=().
|
protected |
Digital uppest point.
Definition at line 259 of file GaussDigitizer.h.
Referenced by DGtal::GaussDigitizer< TSpace, TEuclideanShape >::operator=().