31 #if defined(PlaneProbingNeighborhood_RECURSES)
32 #error Recursive header files inclusion detected in PlaneProbingNeighborhood.h
35 #define PlaneProbingNeighborhood_RECURSES
37 #if !defined PlaneProbingNeighborhood_h
39 #define PlaneProbingNeighborhood_h
46 #include "DGtal/base/Common.h"
47 #include "DGtal/geometry/helpers/PlaneProbingEstimatorHelper.h"
48 #include "DGtal/kernel/CPointPredicate.h"
64 template <
typename TPredicate>
74 using Integer =
typename Point::Coordinate;
225 template <
class TPo
intAdapter>
255 template <
class TPo
intAdapter>
266 template <
class TPo
intAdapter>
281 template <
typename TPredicate>
290 #include "DGtal/geometry/surfaces/estimation/PlaneProbingNeighborhood.ih"
297 #undef PlaneProbingNeighborhood_RECURSES
Aim: A base virtual class that represents a way to probe a neighborhood, used in the plane probing ba...
virtual HexagonState hexagonState()=0
Predicate const & myPredicate
virtual UpdateOperation closestCandidate()
std::array< Vector, 3 > Triangle
PlaneProbingNeighborhood()=delete
void selfDisplay(std::ostream &out) const
UpdateOperation getOperation(PointOnProbingRay const &aClosest) const
Point relativePoint(TPointAdapter const &aPoint) const
typename Predicate::Point Point
std::vector< PointOnProbingRay > myCandidates
PlaneProbingNeighborhood(PlaneProbingNeighborhood &&other)=delete
bool isSmallest(Point const &aX, Point const &aY) const
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
virtual ~PlaneProbingNeighborhood()
PlaneProbingNeighborhood(const PlaneProbingNeighborhood &other)=delete
PlaneProbingNeighborhood & operator=(const PlaneProbingNeighborhood &other)=delete
Point absolutePoint(TPointAdapter const &aPoint) const
HexagonState classify(std::array< bool, 6 > const &aState) const
PlaneProbingNeighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
TPointAdapter closestPointInList(std::vector< TPointAdapter > const &aPoints) const
bool isNeighbor(PointOnProbingRay const &aRay) const
std::vector< PointOnProbingRay > myNeighbors
void setNeighbors(std::vector< PointOnProbingRay > const &aNeighbors)
static const PointOnProbingRay myNeighborhood[6]
typename Point::Coordinate Integer
A ray consists of a permutation and an integer index (position on the ray). For a triplet of vector...
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
std::array< Integer, 3 > coeffs
std::array< Index, 3 > sigma
Aim: Defines a predicate on a point.