31 #if defined(MaximalSegmentSliceEstimation_RECURSES)
32 #error Recursive header files inclusion detected in MaximalSegmentSliceEstimation.h
35 #define MaximalSegmentSliceEstimation_RECURSES
37 #if !defined MaximalSegmentSliceEstimation_h
39 #define MaximalSegmentSliceEstimation_h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/geometry/surfaces/ArithmeticalDSSComputerOnSurfels.h"
47 #include "DGtal/topology/DigitalSurface2DSlice.h"
48 #include "DGtal/topology/CDigitalSurfaceContainer.h"
64 template <
typename TSurface>
82 using Integer =
typename Point::Coordinate;
96 using Iterator =
typename Container::const_iterator;
140 template <
typename SurfelConstIterator >
141 void init (
Scalar const& h, SurfelConstIterator itb, SurfelConstIterator ite);
149 template <
typename SurfelConstIterator >
160 template <
typename SurfelConstIterator,
typename OutputIterator >
161 OutputIterator
eval (SurfelConstIterator itb, SurfelConstIterator ite, OutputIterator out)
const;
232 template <
typename TSurface>
241 #include "DGtal/geometry/surfaces/estimation/MaximalSegmentSliceEstimation.ih"
248 #undef MaximalSegmentSliceEstimation_RECURSES
Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of dig...
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Represents a 2-dimensional slice in a DigitalSurface. In a sense, it is a 4-connected contour,...
DigitalSurfaceContainer::DigitalSurfaceTracker DigitalSurfaceTracker
std::pair< Point2, Point2 > getExtremalPoints(SurfaceSlice const &aSlice, Dimension const &aProjectDir1, Dimension const &aProjectDir2) const
Quantity eval(SurfelConstIterator it) const
typename KSpace::SCell SCell
void init(Scalar const &h, SurfelConstIterator itb, SurfelConstIterator ite)
Vector trivialNormal(Surfel const &aSurfel) const
OutputIterator eval(SurfelConstIterator itb, SurfelConstIterator ite, OutputIterator out) const
typename Container::const_iterator Iterator
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceContainer< typename TSurface::DigitalSurfaceContainer >))
KSpace const & space() const
~MaximalSegmentSliceEstimation()
MaximalSegmentSliceEstimation()
void attach(ConstAlias< Surface > aSurface)
typename Surface::DigitalSurfaceTracker Tracker
MaximalSegmentSliceEstimation & operator=(const MaximalSegmentSliceEstimation &other)
typename KSpace::Space Space
typename Surface::KSpace KSpace
typename KSpace::Cell Cell
typename Surface::Point Point
typename Space::RealPoint RealPoint
typename Point::Coordinate Integer
CountedConstPtrOrConstPtr< Surface > mySurface
std::deque< SCell > Container
MaximalSegmentSliceEstimation(ConstAlias< Surface > aSurface)
void selfDisplay(std::ostream &out) const
MaximalSegmentSliceEstimation(const MaximalSegmentSliceEstimation &other)
typename Surface::Surfel Surfel
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::uint32_t Dimension
Aim: The digital surface container concept describes a minimal set of inner types and methods so as t...
PointVector< 3, double > RealPoint