33 #include "DGtal/kernel/NumberTraits.h"
44 template <
typename TSpace,
typename TEucl
ideanShape>
50 template <
typename TSpace,
typename TEucl
ideanShape>
56 template <
typename TSpace,
typename TEucl
ideanShape>
72 template <
typename TSpace,
typename TEucl
ideanShape>
81 template <
typename TSpace,
typename TEucl
ideanShape>
86 typename RealVector::Component gridStep )
88 myPointEmbedder.
init( gridStep );
89 myLowerPoint = myPointEmbedder.floor( xLow );
90 myUpperPoint = myPointEmbedder.ceil( xUp );
93 template <
typename TSpace,
typename TEucl
ideanShape>
100 myPointEmbedder.
init( aGridSteps );
101 myLowerPoint = myPointEmbedder.floor( xLow );
102 myUpperPoint = myPointEmbedder.ceil( xUp );
106 template <
typename TSpace,
typename TEucl
ideanShape>
112 return myPointEmbedder;
115 template <
typename TSpace,
typename TEucl
ideanShape>
121 return Domain( getLowerBound(), getUpperBound() );
125 template <
typename TSpace,
typename TEucl
ideanShape>
131 return myPointEmbedder.
floor( p );
134 template <
typename TSpace,
typename TEucl
ideanShape>
140 return myPointEmbedder.
ceil( p );
143 template <
typename TSpace,
typename TEucl
ideanShape>
149 return myPointEmbedder.
round( p );
152 template <
typename TSpace,
typename TEucl
ideanShape>
158 return myPointEmbedder.
embed( p );
161 template <
typename TSpace,
typename TEucl
ideanShape>
167 ASSERT( myEShape != 0 );
168 return (myEShape->orientation( embed( p ) ) ==
INSIDE);
171 template <
typename TSpace,
typename TEucl
ideanShape>
180 template <
typename TSpace,
typename TEucl
ideanShape>
189 template <
typename TSpace,
typename TEucl
ideanShape>
195 return getUpperBound() - getLowerBound();
198 template <
typename TSpace,
typename TEucl
ideanShape>
215 template <
typename TSpace,
typename TEucl
ideanShape>
220 out <<
"[GaussDigitizer]";
227 template <
typename TSpace,
typename TEucl
ideanShape>
240 template <
typename TSpace,
typename TEucl
ideanShape>
246 object.selfDisplay( out );