DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TrueLocalEstimatorOnPoints.h
1 
17 #pragma once
18 
34 #if defined(TrueLocalEstimatorOnPoints_RECURSES)
35 #error Recursive header files inclusion detected in TrueLocalEstimatorOnPoints.h
36 #else // defined(TrueLocalEstimatorOnPoints_RECURSES)
37 
38 #define TrueLocalEstimatorOnPoints_RECURSES
39 
40 #if !defined TrueLocalEstimatorOnPoints_h
41 
42 #define TrueLocalEstimatorOnPoints_h
43 
45 // Inclusions
46 #include <iostream>
47 #include "DGtal/base/Common.h"
49 
50 namespace DGtal
51 {
53  // template class TrueLocalEstimatorOnPoints
65  template <typename TConstIteratorOnPoints,
66  typename TParametricShape,
67  typename TParametricShapeFunctor>
69  {
70 
71  // ----------------------- Types ------------------------------
72  public:
73 
74  typedef TConstIteratorOnPoints ConstIterator;
75 
76  typedef TParametricShape ParametricShape;
77  typedef typename TParametricShape::RealPoint RealPoint;
78 
79  typedef TParametricShapeFunctor ParametricShapeFunctor;
80  typedef typename ParametricShapeFunctor::Quantity Quantity;
81 
82 
83  // ----------------------- Standard services ------------------------------
84  public:
85 
90 
91 
96 
97  // ----------------------- Interface --------------------------------------
98  public:
99 
106  void init(const double h,
107  const ConstIterator& itb,
108  const ConstIterator& ite);
109 
114  void attach(ParametricShape* aShapePtr);
115 
120  Quantity eval(const ConstIterator& it) const;
121 
129  template <typename OutputIterator>
130  OutputIterator eval(const ConstIterator& itb,
131  const ConstIterator& ite,
132  OutputIterator result) const;
133 
134 
139  bool isValid() const;
140 
141  // ------------------------- Protected Datas ------------------------------
142  protected:
143 
144  // ------------------------- Private Datas --------------------------------
145  private:
146 
148  double myH;
149 
152 
155 
158 
159  // ------------------------- Hidden services ------------------------------
160  private:
161 
168 
176 
177 
178  }; // end of class TrueLocalEstimatorOnPoints
179 
180 } // namespace DGtal
181 
182 
184 // Includes inline functions.
185 #include "DGtal/geometry/curves/estimation/TrueLocalEstimatorOnPoints.ih"
186 
187 // //
189 
190 #endif // !defined TrueLocalEstimatorOnPoints_h
191 
192 #undef TrueLocalEstimatorOnPoints_RECURSES
193 #endif // else defined(TrueLocalEstimatorOnPoints_RECURSES)