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>
70 using Point =
typename TPredicate::Point;
73 using Integer =
typename Point::Coordinate;
163 std::pair<PointOnProbingRay, PointOnProbingRay>
candidateRay (
int index)
const;
181 std::vector<PointOnProbingRay>
const& aLst)
const;
210 template <
typename TPredicate>
219#include "DGtal/geometry/surfaces/estimation/PlaneProbingR1Neighborhood.ih"
226#undef PlaneProbingR1Neighborhood_RECURSES
Aim: Represent a way to probe the R-neighborhood, with the R1 optimization, see RLDGCI2019 for detail...
typename PlaneProbingRNeighborhood< TPredicate >::Triangle Triangle
PointOnProbingRay closestRayPoint(std::pair< PointOnProbingRay, PointOnProbingRay > const &aRayPoint) const
void selfDisplay(std::ostream &out) const
virtual HexagonState hexagonState() override
typename PlaneProbingRNeighborhood< TPredicate >::HexagonState HexagonState
PlaneProbingR1Neighborhood(PlaneProbingR1Neighborhood &&other)=delete
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
std::pair< PointOnProbingRay, PointOnProbingRay > candidateRay(int index) const
typename TPredicate::Point Point
typename Point::Coordinate Integer
PointOnProbingRay closestPointOnRayConstant(PointOnProbingRay const &aRay) const
PlaneProbingR1Neighborhood(const PlaneProbingR1Neighborhood &other)=delete
typename PlaneProbingRNeighborhood< TPredicate >::PointOnProbingRay PointOnProbingRay
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 & operator=(const PlaneProbingR1Neighborhood &other)=delete
PlaneProbingR1Neighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
int getNeighborhoodCode() const
std::vector< PointOnProbingRay > intersectSphereRay(PointOnProbingRay const &aPoint, PointOnProbingRay const &aRay) 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
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: Defines a predicate on a point.