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>
72 using Point =
typename Predicate::Point;
74 using Integer =
typename Point::Coordinate;
272 template <
typename TPredicate>
281#include "DGtal/geometry/surfaces/estimation/PlaneProbingNeighborhood.ih"
288#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
PlaneProbingNeighborhood & operator=(const PlaneProbingNeighborhood &other)=delete
std::array< Vector, 3 > Triangle
PlaneProbingNeighborhood()=delete
void selfDisplay(std::ostream &out) const
typename Predicate::Point Point
std::vector< PointOnProbingRay > myCandidates
virtual UpdateOperation getOperation(PointOnProbingRay const &aClosest) const
PointOnProbingRay closestPointInList(std::vector< PointOnProbingRay > const &aPoints) const
PlaneProbingNeighborhood(PlaneProbingNeighborhood &&other)=delete
Point relativePoint(PointOnProbingRay const &aRay) const
bool isSmallest(Point const &aX, Point const &aY) const
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
virtual ~PlaneProbingNeighborhood()
PlaneProbingNeighborhood(const PlaneProbingNeighborhood &other)=delete
HexagonState classify(std::array< bool, 6 > const &aState) const
PlaneProbingNeighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
Point absolutePoint(PointOnProbingRay const &aRay) const
bool isNeighbor(PointOnProbingRay const &aRay) const
UpdateOperation closestCandidate()
std::vector< PointOnProbingRay > myNeighbors
void setNeighbors(std::vector< PointOnProbingRay > const &aNeighbors)
static const PointOnProbingRay myNeighborhood[6]
typename Point::Coordinate Integer
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
std::array< Integer, 3 > coeffs
std::array< int, 3 > sigma
Aim: Defines a predicate on a point.