DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CGlobalCurveGeometricEstimator.h
1 
17 #pragma once
18 
31 #if defined(CGlobalGeometricEstimator_RECURSES)
32 #error Recursive header files inclusion detected in CGlobalGeometricEstimator.h
33 #else // defined(CGlobalGeometricEstimator_RECURSES)
34 
35 #define CGlobalGeometricEstimator_RECURSES
36 
37 #if !defined CGlobalGeometricEstimator_h
38 
39 #define CGlobalGeometricEstimator_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/CQuantity.h"
46 #include <boost/iterator/iterator_archetypes.hpp>
48 
49 namespace DGtal
50 {
51 
53  // class CGlobalGeometricEstimator
94  template <typename T>
96  boost::DefaultConstructible<T>
97  {
98 
99  // ----------------------- Concept checks ------------------------------
100  public:
101 
102  typedef typename T::Quantity Quantity;
104 
105  typedef typename T::ConstIterator ConstIterator;
106  BOOST_CONCEPT_ASSERT(( boost_concepts::ReadableIteratorConcept< ConstIterator > ));
107  BOOST_CONCEPT_ASSERT(( boost_concepts::ForwardTraversalConcept< ConstIterator > ));
108 
109 
111  {
112  //init method
113  myX.init( myH, myItb, myIte );
114 
115  ConceptUtils::sameType( myQ, myX.eval( ) );
116  }
117 
118  // ------------------------- Private Datas --------------------------------
119  private:
120  T myX;
121 
122  double myH;
125 
126  // ------------------------- Internals ------------------------------------
127  private:
128 
129  }; // end of concept CGlobalGeometricEstimator
130 
131 } // namespace DGtal
132 
133 // //
135 
136 #endif // !defined CGlobalGeometricEstimator_h
137 
138 #undef CGlobalGeometricEstimator_RECURSES
139 #endif // else defined(CGlobalGeometricEstimator_RECURSES)