DGtal  0.9.2
TrueGlobalEstimatorOnPoints.h
1 
17 #pragma once
18 
34 #if defined(TrueGlobalEstimatorOnPoints_RECURSES)
35 #error Recursive header files inclusion detected in TrueGlobalEstimatorOnPoints
36 #else // defined(TrueGlobalEstimatorOnPoints_RECURSES)
37 
38 #define TrueGlobalEstimatorOnPoints_RECURSES
39 
40 #if !defined TrueGlobalEstimatorOnPoints_h
41 
42 #define TrueGlobalEstimatorOnPoints_h
43 
45 // Inclusions
46 #include <iostream>
47 #include <list>
48 
49 #include "DGtal/base/Exceptions.h"
50 #include "DGtal/base/Common.h"
52 
53 namespace DGtal
54 {
56  // template class TrueGlobalEstimatorOnPoints
68  template <typename TConstIteratorOnPoints, typename TParametricShape, typename TParametricShapeFunctor>
70  {
71 
72  // ----------------------- Types ------------------------------
73  public:
74 
75  typedef TConstIteratorOnPoints ConstIteratorOnPoints;
76 
77  typedef TParametricShape ParametricShape;
78  typedef typename ParametricShape::RealPoint RealPoint;
79 
80  typedef TParametricShapeFunctor ParametricShapeFunctor;
81  typedef typename ParametricShapeFunctor::Quantity Quantity;
82 
83 
84  // ----------------------- Standard services ------------------------------
85  public:
86 
91  {
92  myFlagIsInit = false;
93  }
94 
103  TrueGlobalEstimatorOnPoints(const double h,
104  const ConstIteratorOnPoints& itb,
105  const ConstIteratorOnPoints& ite,
106  ParametricShape* aShape,
107  const bool& isClosed);
108 
113 
114  // ----------------------- Interface --------------------------------------
115  public:
116 
125  void init(const double h,
126  const ConstIteratorOnPoints& itb,
127  const ConstIteratorOnPoints& ite,
128  ParametricShape* aShape,
129  const bool& isClosed);
130 
134  Quantity eval() ;
135 
140  Quantity eval(const ConstIteratorOnPoints& itb,
141  const ConstIteratorOnPoints& ite);
142 
143 
148  bool isValid() const;
149 
150  // ------------------------- Protected Datas ------------------------------
151  protected:
152 
153  // ------------------------- Private Datas --------------------------------
154  private:
155 
157  double myH;
158 
161 
164 
166  ParametricShapeFunctor myFunctor;
167 
169  ConstIteratorOnPoints myBegin;
170 
172  ConstIteratorOnPoints myEnd;
173 
174  // ------------------------- Hidden services ------------------------------
175  private:
176 
183 
191 
192 
193  }; // end of class TrueGlobalEstimatorOnPoints
194 
195 } // namespace DGtal
196 
197 
199 // Includes inline functions.
200 #include "DGtal/geometry/curves/estimation/TrueGlobalEstimatorOnPoints.ih"
201 
202 // //
204 
205 #endif // !defined TrueGlobalEstimatorOnPoints_h
206 
207 #undef TrueGlobalEstimatorOnPoints_RECURSES
208 #endif // else defined(TrueGlobalEstimatorOnPoints_RECURSES)
TrueGlobalEstimatorOnPoints & operator=(const TrueGlobalEstimatorOnPoints &other)
bool myFlagIsClosed
Bool if the curve is closed.
ParametricShapeFunctor::Quantity Quantity
ParametricShapeFunctor myFunctor
Parametric quantity functor.
ConstIteratorOnPoints myEnd
Copy of the end iterator.
void init(const double h, const ConstIteratorOnPoints &itb, const ConstIteratorOnPoints &ite, ParametricShape *aShape, const bool &isClosed)
ConstIteratorOnPoints myBegin
Copy of the begin iterator.
DGtal is the top-level namespace which contains all DGtal functions and types.
bool myFlagIsInit
True if the init() has been called.
Aim: Computes the true quantity to each element of a range associated to a parametric shape...