31 #if defined(PlaneProbingLNeighborhood_RECURSES)
32 #error Recursive header files inclusion detected in PlaneProbingLNeighborhood.h
35 #define PlaneProbingLNeighborhood_RECURSES
37 #if !defined PlaneProbingLNeighborhood_h
39 #define PlaneProbingLNeighborhood_h
46 #include "DGtal/base/Common.h"
47 #include "DGtal/geometry/helpers/PlaneProbingEstimatorHelper.h"
48 #include "DGtal/geometry/surfaces/estimation/PlaneProbingRNeighborhood.h"
49 #include "DGtal/kernel/CPointPredicate.h"
64 template <
typename TPredicate>
74 using Integer =
typename Point::Coordinate;
116 const bool& aFirst,
const bool& aSecond )
216 std::back_insert_iterator<std::vector<GridPoint> > out)
const;
284 template <
typename TPredicate>
293 #include "DGtal/geometry/surfaces/estimation/PlaneProbingLNeighborhood.ih"
300 #undef PlaneProbingLNeighborhood_RECURSES
Aim: Represents a way to probe the L-neighborhood, see for details.
GridPointOnProbingRay closestOnBoundedRayLinearWithPredicate(GridPointOnProbingRay const &aRay, Integer const &aBound) const
typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay PointOnProbingRay
typename PlaneProbingNeighborhood< TPredicate >::UpdateOperation UpdateOperation
std::array< Vector, 3 > Triangle
BOOST_CONCEPT_ASSERT((DGtal::concepts::CPointPredicate< TPredicate >))
void updateGrid(const Index &aIdx)
typename detail::GridPoint< Integer, Index > GridPoint
void selfDisplay(std::ostream &out) const
PlaneProbingLNeighborhood & operator=(const PlaneProbingLNeighborhood &other)=delete
void candidatesInGrid(const GridPoint &y1, const GridPoint &y2, std::back_insert_iterator< std::vector< GridPoint > > out) const
PlaneProbingLNeighborhood(const PlaneProbingLNeighborhood &other)=delete
HexagonState hexagonState() override
PlaneProbingLNeighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
~PlaneProbingLNeighborhood()
PlaneProbingLNeighborhood(PlaneProbingLNeighborhood &&other)=delete
UpdateOperation closestCandidate() override
Point direction(GridPoint const &aP) const
typename PlaneProbingNeighborhood< TPredicate >::Index Index
typename Point::Coordinate Integer
typename detail::GridPointOnProbingRay< Integer, Index > GridPointOnProbingRay
UpdateOperation getOperationFromGridPoint(GridPoint const &aClosest) const
PlaneProbingLNeighborhood()=delete
GridPointOnProbingRay closestOnBoundedRayLogWithPredicate(GridPointOnProbingRay const &aRay, Integer const &aBound) const
typename Predicate::Point Point
ClosestGridPoint closestInGrid(const Index &aIdx) const
std::vector< ClosestGridPoint > myGrids
Aim: Represent a way to probe the R-neighborhood.
Aim: Represents a grid point along a discrete ray defined on a grid.
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)
Aim: Used to store the closest grid point associated to a vertex of the triangle and two extra boolea...
std::pair< bool, bool > myPair
ClosestGridPoint(const GridPoint &aGridPoint, const bool &aFirst, const bool &aSecond)
ClosestGridPoint()=default
Aim: Defines a predicate on a point.