31 #if defined(PlaneProbingR1Neighborhood_RECURSES)
32 #error Recursive header files inclusion detected in PlaneProbingR1Neighborhood.h
35 #define PlaneProbingR1Neighborhood_RECURSES
37 #if !defined PlaneProbingR1Neighborhood_h
39 #define PlaneProbingR1Neighborhood_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/geometry/helpers/PlaneProbingEstimatorHelper.h"
46 #include "DGtal/geometry/surfaces/estimation/PlaneProbingRNeighborhood.h"
47 #include "DGtal/kernel/CPointPredicate.h"
62 template <
typename TPredicate>
73 using Integer =
typename Point::Coordinate;
183 std::vector<PointOnProbingRay>
const& aLst)
const;
212 template <
typename TPredicate>
221 #include "DGtal/geometry/surfaces/estimation/PlaneProbingR1Neighborhood.ih"
228 #undef PlaneProbingR1Neighborhood_RECURSES
std::array< Vector, 3 > Triangle
typename Predicate::Point Point
typename Point::Coordinate Integer
Aim: Represent a way to probe the R-neighborhood, with the R1 optimization, see for details.
PointOnProbingRay closestRayPoint(std::pair< PointOnProbingRay, PointOnProbingRay > const &aRayPoint) const
void selfDisplay(std::ostream &out) const
virtual HexagonState hexagonState() override
PlaneProbingR1Neighborhood & operator=(const PlaneProbingR1Neighborhood &other)=delete
std::vector< PointOnProbingRay > intersectSphereRay(PointOnProbingRay const &aPoint, PointOnProbingRay const &aRay) const
PlaneProbingR1Neighborhood(PlaneProbingR1Neighborhood &&other)=delete
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
PointOnProbingRay closestPointOnRayConstant(PointOnProbingRay const &aRay) const
PlaneProbingR1Neighborhood(const PlaneProbingR1Neighborhood &other)=delete
PlaneProbingR1Neighborhood()=delete
PointOnProbingRay closestPointOnRayLinear(PointOnProbingRay const &aRay) const
bool isValidIntersectSphereRay(PointOnProbingRay const &aPoint, PointOnProbingRay const &aRay, std::vector< PointOnProbingRay > const &aLst) const
std::array< bool, 6 > myState
PlaneProbingR1Neighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
std::pair< PointOnProbingRay, PointOnProbingRay > candidateRay(Index const &index) const
int getNeighborhoodCode() const
~PlaneProbingR1Neighborhood()
Aim: Represent a way to probe the R-neighborhood.
typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay PointOnProbingRay
typename PlaneProbingNeighborhood< TPredicate >::HexagonState HexagonState
typename PlaneProbingNeighborhood< TPredicate >::Triangle Triangle
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: Defines a predicate on a point.