DGtal  1.4.beta
CImplicitFunctionDiff1.h
1 
17 #pragma once
18 
31 #if defined(CImplicitFunctionDiff1_RECURSES)
32 #error Recursive header files inclusion detected in CImplicitFunctionDiff1.h
33 #else // defined(CImplicitFunctionDiff1_RECURSES)
35 #define CImplicitFunctionDiff1_RECURSES
36 
37 #if !defined CImplicitFunctionDiff1_h
39 #define CImplicitFunctionDiff1_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/shapes/implicit/CImplicitFunction.h"
47 
48 namespace DGtal
49 {
50  namespace concepts
51  {
53  // class CImplicitFunctionDiff1
91  template <typename T>
93  {
94  // ----------------------- Concept checks ------------------------------
95  public:
96  // 1. define first provided types (i.e. inner types), like
97  typedef typename T::RealPoint RealPoint;
98  typedef typename T::RealVector RealVector;
99 
101  {
102  // check const methods.
104  }
106  {
107  // const method dummyConst should take parameter myA of type A and return
108  // something of type B
109  ConceptUtils::sameType( myB, myX.gradient( myA ) );
110  }
111  // ------------------------- Private Datas --------------------------------
112  private:
113  T myX; // do not require T to be default constructible.
116 
117  }; // end of concept CImplicitFunctionDiff1
118  }
119 } // namespace DGtal
120 
121 // //
123 
124 #endif // !defined CImplicitFunctionDiff1_h
125 
126 #undef CImplicitFunctionDiff1_RECURSES
127 #endif // else defined(CImplicitFunctionDiff1_RECURSES)
Space::RealVector RealVector
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Describes a 1-differentiable function of the form f(x), where x is some real point in the given ...
Aim: Describes any function of the form f(x), where x is some real point in the given space,...
PointVector< 3, double > RealPoint