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).
More...
#include <DGtal/shapes/GaussDigitizer.h>
template<typename TSpace, typename TEuclideanShape>
class DGtal::GaussDigitizer< TSpace, TEuclideanShape >
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 concepts::CPointPredicate. A Gauss digitizer owns a RegularPointEmbedder, a model of CPointEmbedder.
- Template Parameters
-
TSpace | the type of digital Space where the digitized object lies. |
TEuclideanShape | a model of CEuclideanOrientedShape and CEuclideanBoundedShape |
- Examples
- dec/exampleHeatLaplace.cpp, geometry/curves/estimation/exampleCurvature.cpp, shapes/exampleEuclideanShapesDecorator.cpp, topology/frontierAndBoundary.cpp, topology/trackImplicitPolynomialSurfaceToOFF.cpp, and tutorial-examples/AreaSurfaceEstimation-final.cpp.
Definition at line 79 of file GaussDigitizer.h.
◆ Domain
template<typename TSpace , typename TEuclideanShape >
◆ EuclideanShape
template<typename TSpace , typename TEuclideanShape >
◆ Integer
template<typename TSpace , typename TEuclideanShape >
◆ Point
template<typename TSpace , typename TEuclideanShape >
◆ PointEmbedder
template<typename TSpace , typename TEuclideanShape >
◆ RealPoint
template<typename TSpace , typename TEuclideanShape >
◆ RealVector
template<typename TSpace , typename TEuclideanShape >
◆ Space
template<typename TSpace , typename TEuclideanShape >
◆ Vector
template<typename TSpace , typename TEuclideanShape >
◆ ~GaussDigitizer()
template<typename TSpace , typename TEuclideanShape >
◆ GaussDigitizer()
template<typename TSpace , typename TEuclideanShape >
Constructor. The object is not valid.
◆ attach()
template<typename TSpace , typename TEuclideanShape >
- Parameters
-
shape | the digitizer now references the given shape. |
- Examples
- dec/exampleHeatLaplace.cpp, shapes/exampleEuclideanShapesDecorator.cpp, topology/frontierAndBoundary.cpp, topology/trackImplicitPolynomialSurfaceToOFF.cpp, and tutorial-examples/AreaSurfaceEstimation-final.cpp.
Referenced by ballGenerator(), estimatorOnShapeDigitization(), getComplex(), laplace_sphere(), main(), DGtal::Shortcuts< TKSpace >::makeDigitizedImplicitShape3D(), DGtal::Shortcuts< TKSpace >::makeDoubleImage(), DGtal::Shortcuts< TKSpace >::makeFloatImage(), testCombinatorialSurface(), testCompareEstimator(), testCurvature2d(), testDigitalSurfaceBoostGraphInterface(), testDigitization(), testEstimatorCache(), testFitting(), testGaussianCurvature3d(), testMeanCurvature3d(), testPrincipalCurvatures3d(), testRaySurface(), testTrueLocalEstimatorOnShapeDigitization(), and testUmbrellaComputer().
◆ BOOST_CONCEPT_ASSERT()
template<typename TSpace , typename TEuclideanShape >
◆ ceil()
template<typename TSpace , typename TEuclideanShape >
- Parameters
-
p | any point in the Euclidean space. |
- Returns
- the digital point ceil( p / gridSteps ).
◆ embed()
template<typename TSpace , typename TEuclideanShape >
◆ floor()
template<typename TSpace , typename TEuclideanShape >
- Parameters
-
p | any point in the Euclidean space. |
- Returns
- the digital point floor( p / gridSteps ).
◆ getDomain()
template<typename TSpace , typename TEuclideanShape >
- Returns
- the domain chosen for the digitizer.
- See also
- init
- Examples
- topology/frontierAndBoundary.cpp, topology/trackImplicitPolynomialSurfaceToOFF.cpp, and tutorial-examples/AreaSurfaceEstimation-final.cpp.
Referenced by ballGenerator(), estimatorOnShapeDigitization(), DGtal::Shortcuts< TKSpace >::getKSpace(), laplace_sphere(), main(), DGtal::Shortcuts< TKSpace >::makeBinaryImage(), DGtal::Shortcuts< TKSpace >::makeDoubleImage(), DGtal::Shortcuts< TKSpace >::makeFloatImage(), testCombinatorialSurface(), testCompareEstimator(), testDigitalSurfaceBoostGraphInterface(), testDigitization(), testTrueLocalEstimatorOnShapeDigitization(), and testUmbrellaComputer().
◆ getLowerBound()
template<typename TSpace , typename TEuclideanShape >
- Returns
- the lowest admissible digital point.
- See also
- init
Referenced by ballGenerator(), estimatorOnShapeDigitization(), testCompareEstimator(), testCurvature2d(), testDigitization(), testEstimatorCache(), testGaussianCurvature3d(), testMeanCurvature3d(), testPrincipalCurvatures3d(), testRaySurface(), and testTrueLocalEstimatorOnShapeDigitization().
◆ getUpperBound()
template<typename TSpace , typename TEuclideanShape >
- Returns
- the highest admissible digital point.
- See also
- init
Referenced by ballGenerator(), estimatorOnShapeDigitization(), testCompareEstimator(), testCurvature2d(), testDigitization(), testEstimatorCache(), testGaussianCurvature3d(), testMeanCurvature3d(), testPrincipalCurvatures3d(), testRaySurface(), and testTrueLocalEstimatorOnShapeDigitization().
◆ gridSteps()
template<typename TSpace , typename TEuclideanShape >
- Returns
- the grid steps in each direction.
◆ init() [1/2]
template<typename TSpace , typename TEuclideanShape >
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.
- Parameters
-
xLow | Euclidean lower bound for the digitizer. |
xUp | Euclidean upper bound for the digitizer. |
gridSteps | the grid steps in each direction. |
◆ init() [2/2]
template<typename TSpace , typename TEuclideanShape >
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.
- Parameters
-
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. |
- Examples
- topology/frontierAndBoundary.cpp, topology/trackImplicitPolynomialSurfaceToOFF.cpp, and tutorial-examples/AreaSurfaceEstimation-final.cpp.
Referenced by ballGenerator(), estimatorOnShapeDigitization(), DGtal::Shortcuts< TKSpace >::getKSpace(), laplace_sphere(), main(), DGtal::Shortcuts< TKSpace >::makeDigitizedImplicitShape3D(), DGtal::Shortcuts< TKSpace >::makeDoubleImage(), DGtal::Shortcuts< TKSpace >::makeFloatImage(), testCombinatorialSurface(), testCompareEstimator(), testCurvature2d(), testDigitalSurfaceBoostGraphInterface(), testDigitization(), testEstimatorCache(), testGaussianCurvature3d(), testMeanCurvature3d(), testPrincipalCurvatures3d(), testRaySurface(), testTrueLocalEstimatorOnShapeDigitization(), and testUmbrellaComputer().
◆ isValid()
template<typename TSpace , typename TEuclideanShape >
Checks the validity/consistency of the object.
- Returns
- 'true' if the object is valid, 'false' otherwise.
◆ operator()()
template<typename TSpace , typename TEuclideanShape >
- Parameters
-
p | any point in the digital plane. |
- Returns
- 'true' if the point is inside the shape, 'false' if it is strictly outside.
◆ operator=()
template<typename TSpace , typename TEuclideanShape >
◆ orientation()
template<typename TSpace , typename TEuclideanShape >
Orientation method to match with CDigitalOrientedShape concept.
- Parameters
-
- Returns
- negative orientation if the point is inside the shape, 0 if it is on the shape and positive orientation otherwise.
Definition at line 194 of file GaussDigitizer.h.
◆ pointEmbedder()
template<typename TSpace , typename TEuclideanShape >
◆ resolution()
template<typename TSpace , typename TEuclideanShape >
- Returns
- the resolution in each direction.
◆ round()
template<typename TSpace , typename TEuclideanShape >
- Parameters
-
p | any point in the Euclidean space. |
- Returns
- the digital point round( p / gridSteps ), i.e. the "closest" digital point.
◆ selfDisplay()
template<typename TSpace , typename TEuclideanShape >
Writes/Displays the object on an output stream.
- Parameters
-
out | the output stream where the object is written. |
◆ myEShape
template<typename TSpace , typename TEuclideanShape >
◆ myLowerPoint
template<typename TSpace , typename TEuclideanShape >
◆ myPointEmbedder
template<typename TSpace , typename TEuclideanShape >
◆ myUpperPoint
template<typename TSpace , typename TEuclideanShape >
The documentation for this class was generated from the following file: