Aim: A model of CDigitalSurfaceContainer which defines the digital surface as the boundary of an implicitly define shape. Compute once the boundary of the surface with a tracking.
More...
#include <DGtal/topology/ImplicitDigitalSurface.h>
template<typename TKSpace, typename TPointPredicate>
class DGtal::ImplicitDigitalSurface< TKSpace, TPointPredicate >
Aim: A model of CDigitalSurfaceContainer which defines the digital surface as the boundary of an implicitly define shape. Compute once the boundary of the surface with a tracking.
Description of template class 'ImplicitDigitalSurface'
- Template Parameters
-
TKSpace | a model of CCellularGridSpaceND: the type chosen for the cellular grid space. |
TPointPredicate | a model of concepts::CPointPredicate: this functor defines the inside of a shape on points where it is true. |
- Examples
- examples/tutorial-examples/polyhedralizer.cpp, geometry/surfaces/dvcm-3d.cpp, and tutorial-examples/polyhedralizer.cpp.
Definition at line 71 of file ImplicitDigitalSurface.h.
◆ Adjacency
template<typename TKSpace , typename TPointPredicate >
◆ Cell
template<typename TKSpace , typename TPointPredicate >
◆ CellSet
template<typename TKSpace , typename TPointPredicate >
◆ DigitalSurfaceTracker
template<typename TKSpace , typename TPointPredicate >
◆ KSpace
template<typename TKSpace , typename TPointPredicate >
◆ Point
template<typename TKSpace , typename TPointPredicate >
◆ PointPredicate
template<typename TKSpace , typename TPointPredicate >
◆ SCell
template<typename TKSpace , typename TPointPredicate >
◆ SCellSet
template<typename TKSpace , typename TPointPredicate >
◆ Self
template<typename TKSpace , typename TPointPredicate >
◆ Size
template<typename TKSpace , typename TPointPredicate >
◆ Space
template<typename TKSpace , typename TPointPredicate >
◆ Surfel
template<typename TKSpace , typename TPointPredicate >
◆ SurfelConstIterator
template<typename TKSpace , typename TPointPredicate >
◆ SurfelStorage
template<typename TKSpace , typename TPointPredicate >
◆ ~ImplicitDigitalSurface()
template<typename TKSpace , typename TPointPredicate >
◆ ImplicitDigitalSurface() [1/2]
template<typename TKSpace , typename TPointPredicate >
Copy constructor.
- Parameters
-
other | the object to clone. |
NB: O(N) computational complexity operation, where N is the number of surfels of the surface. This is due to the fact that the surface is stored explicitly.
◆ ImplicitDigitalSurface() [2/2]
template<typename TKSpace , typename TPointPredicate >
Constructor from digital set.
- Parameters
-
aKSpace | a cellular grid space (referenced). |
aPP | a point predicate defining implicitly the shape (referenced). |
adj | the surfel adjacency (for instance Adjacency( true ) is interior to exterior adjacency ). |
s | any surfel of aKSpace such that aPP is true in the interior and false in the exterior. |
closed | when 'true', the surface is known to be closed, hence faster extraction can be performed, default is 'false'. |
NB: O(N) computational complexity operation, where N is the number of surfels of the surface. This is due to the fact that, at construction, the surface is extracted and stored.
- See also
- computeSurfels
◆ begin()
template<typename TKSpace , typename TPointPredicate >
- Returns
- an iterator pointing on the first surfel of the digital surface (unspecified order).
◆ BOOST_CONCEPT_ASSERT() [1/2]
template<typename TKSpace , typename TPointPredicate >
◆ BOOST_CONCEPT_ASSERT() [2/2]
template<typename TKSpace , typename TPointPredicate >
◆ computeSurfels()
template<typename TKSpace , typename TPointPredicate >
Recomputes the set of boundary surfels from the point predicate and some initial surfel.
- Parameters
-
p | any surfel of the surface |
closed | when 'true', the surface is known to be closed, hence faster extraction can be performed. |
◆ connectedness()
template<typename TKSpace , typename TPointPredicate >
- Returns
- the connectedness of this surface. Either CONNECTED, DISCONNECTED, or UNKNOWN.
◆ empty()
template<typename TKSpace , typename TPointPredicate >
- Returns
- 'true' is the surface has no surfels, 'false' otherwise. NB: O(1) operation.
◆ end()
template<typename TKSpace , typename TPointPredicate >
- Returns
- an iterator after the last surfel of the digital surface (unspecified order).
◆ isInside()
template<typename TKSpace , typename TPointPredicate >
- Parameters
-
s | any surfel of the space. |
- Returns
- 'true' if s belongs to this digital surface.
◆ isValid()
template<typename TKSpace , typename TPointPredicate >
Checks the validity/consistency of the object.
- Returns
- 'true' if the object is valid, 'false' otherwise.
◆ nbSurfels()
template<typename TKSpace , typename TPointPredicate >
- Returns
- the number of surfels of this digital surface. NB: O(1)
◆ newTracker()
template<typename TKSpace , typename TPointPredicate >
- Parameters
-
s | any surfel of the space. |
- Precondition
- 'isInside( s )'
- Returns
- a dyn. alloc. pointer on a tracker positionned at s.
◆ operator=()
template<typename TKSpace , typename TPointPredicate >
Assignment.
- Parameters
-
- Returns
- a reference on 'this'. Forbidden by default.
◆ pointPredicate()
template<typename TKSpace , typename TPointPredicate >
accessor to point predicate.
◆ selfDisplay()
template<typename TKSpace , typename TPointPredicate >
Writes/Displays the object on an output stream.
- Parameters
-
out | the output stream where the object is written. |
◆ space()
template<typename TKSpace , typename TPointPredicate >
- Returns
- the cellular space in which lives the surface.
◆ surfelAdjacency() [1/2]
template<typename TKSpace , typename TPointPredicate >
mutator to surfel adjacency.
◆ surfelAdjacency() [2/2]
template<typename TKSpace , typename TPointPredicate >
accessor to surfel adjacency.
◆ myKSpace
template<typename TKSpace , typename TPointPredicate >
◆ myPointPredicate
template<typename TKSpace , typename TPointPredicate >
◆ mySurfelAdjacency
template<typename TKSpace , typename TPointPredicate >
◆ mySurfels
template<typename TKSpace , typename TPointPredicate >
The documentation for this class was generated from the following file: