DGtal 1.3.0
Loading...
Searching...
No Matches
PlaneProbingHNeighborhood.h
1
17#pragma once
18
31#if defined(PlaneProbingHNeighborhood_RECURSES)
32#error Recursive header files inclusion detected in PlaneProbingHNeighborhood.h
33#else // defined(PlaneProbingHNeighborhood_RECURSES)
35#define PlaneProbingHNeighborhood_RECURSES
36
37#if !defined PlaneProbingHNeighborhood_h
39#define PlaneProbingHNeighborhood_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 PlaneProbingHNeighborhood
61 template <typename TPredicate>
63 {
65
66 // ----------------------- Public types ------------------------------
67 public:
68 using Predicate = TPredicate;
69 using Point = typename TPredicate::Point;
73
74 // ----------------------- Standard services ------------------------------
75 public:
80
88 PlaneProbingHNeighborhood(Predicate const& aPredicate, Point const& aQ, Triangle const& aM);
89
94
100
106
113
120
121 // ----------------------- Plane Probing services ------------------------------
122 public:
123 virtual HexagonState hexagonState () override;
124
125 // ----------------------- Interface --------------------------------------
126 public:
127
132 void selfDisplay ( std::ostream & out ) const;
133
138 bool isValid() const;
139
140 // ------------------------- Protected Datas ------------------------------
141 protected:
142
143 // ------------------------- Private Datas --------------------------------
144 private:
145
146 // ------------------------- Hidden services ------------------------------
147 protected:
148
149 // ------------------------- Internals ------------------------------------
150 private:
151
152 }; // end of class PlaneProbingHNeighborhood
153
154
161 template <typename TPredicate>
162 std::ostream&
163 operator<< ( std::ostream & out, const PlaneProbingHNeighborhood<TPredicate> & object );
164
165} // namespace DGtal
166
167
169// Includes inline functions.
170#include "DGtal/geometry/surfaces/estimation/PlaneProbingHNeighborhood.ih"
171
172// //
174
175#endif // !defined PlaneProbingHNeighborhood_h
176
177#undef PlaneProbingHNeighborhood_RECURSES
178#endif // else defined(PlaneProbingHNeighborhood_RECURSES)
Aim: Represent a way to probe the H-neighborhood.
typename PlaneProbingNeighborhood< TPredicate >::Triangle Triangle
PlaneProbingHNeighborhood & operator=(const PlaneProbingHNeighborhood &other)=delete
BOOST_CONCEPT_ASSERT((concepts::CPointPredicate< TPredicate >))
virtual HexagonState hexagonState() override
void selfDisplay(std::ostream &out) const
typename PlaneProbingNeighborhood< TPredicate >::PointOnProbingRay PointOnProbingRay
PlaneProbingHNeighborhood(Predicate const &aPredicate, Point const &aQ, Triangle const &aM)
typename PlaneProbingNeighborhood< TPredicate >::HexagonState HexagonState
PlaneProbingHNeighborhood(const PlaneProbingHNeighborhood &other)=delete
PlaneProbingHNeighborhood(PlaneProbingHNeighborhood &&other)=delete
Aim: A base virtual class that represents a way to probe a neighborhood, used in the plane probing ba...
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.