DGtal 1.3.0
Loading...
Searching...
No Matches
PlaneProbingRNeighborhood.h
1
17#pragma once
18
31#if defined(PlaneProbingRNeighborhood_RECURSES)
32#error Recursive header files inclusion detected in PlaneProbingRNeighborhood.h
33#else // defined(PlaneProbingRNeighborhood_RECURSES)
35#define PlaneProbingRNeighborhood_RECURSES
36
37#if !defined PlaneProbingRNeighborhood_h
39#define PlaneProbingRNeighborhood_h
40
42// Inclusions
43#include <iostream>
44#include "DGtal/base/Common.h"
45#include "DGtal/geometry/helpers/PlaneProbingEstimatorHelper.h"
46#include "DGtal/geometry/surfaces/estimation/PlaneProbingNeighborhood.h"
47#include "DGtal/kernel/CPointPredicate.h"
49
50namespace DGtal
51{
52
54 // template class PlaneProbingRNeighborhood
61 template <typename TPredicate>
63 {
65
66 // ----------------------- Public types ------------------------------
67 public:
68 using Predicate = TPredicate;
69 using Point = typename TPredicate::Point;
74
75 // ----------------------- Standard services ------------------------------
76 public:
81
89 PlaneProbingRNeighborhood(Predicate const& aPredicate, Point const& aQ, Triangle const& aM);
90
95
101
107
114
121
122 // ----------------------- Plane Probing services ------------------------------
123 public:
124 virtual HexagonState hexagonState () override;
125
126 // ----------------------- Interface --------------------------------------
127 public:
128
133 void selfDisplay ( std::ostream & out ) const;
134
139 bool isValid() const;
140
141 // ------------------------- Protected Datas ------------------------------
142 protected:
143
144 // ------------------------- Private Datas --------------------------------
145 private:
146
147 // ------------------------- Hidden services ------------------------------
148 protected:
156
164
165 // ------------------------- Internals ------------------------------------
166 private:
167
168 }; // end of class PlaneProbingRNeighborhood
169
170
177 template <typename TPredicate>
178 std::ostream&
179 operator<< ( std::ostream & out, const PlaneProbingRNeighborhood<TPredicate> & object );
180
181} // namespace DGtal
182
183
185// Includes inline functions.
186#include "DGtal/geometry/surfaces/estimation/PlaneProbingRNeighborhood.ih"
187
188// //
190
191#endif // !defined PlaneProbingRNeighborhood_h
192
193#undef PlaneProbingRNeighborhood_RECURSES
194#endif // else defined(PlaneProbingRNeighborhood_RECURSES)
Aim: A base virtual class that represents a way to probe a neighborhood, used in the plane probing ba...
typename Point::Coordinate Integer
Aim: Represent a way to probe the R-neighborhood.
typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay PointOnProbingRay
PlaneProbingRNeighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
void selfDisplay(std::ostream &out) const
PointOnProbingRay closestPointOnRayLogWithPredicate(PointOnProbingRay const &aRay) const
typename PlaneProbingNeighborhood< TPredicate >::Integer Integer
PlaneProbingRNeighborhood(const PlaneProbingRNeighborhood &other)=delete
PointOnProbingRay closestPointOnRayLinearWithPredicate(PointOnProbingRay const &aRay) const
typename PlaneProbingNeighborhood< TPredicate >::HexagonState HexagonState
PlaneProbingRNeighborhood(PlaneProbingRNeighborhood &&other)=delete
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
typename PlaneProbingNeighborhood< TPredicate >::Triangle Triangle
PlaneProbingRNeighborhood & operator=(const PlaneProbingRNeighborhood &other)=delete
virtual HexagonState hexagonState() override
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.