DGtal  1.5.beta
CPowerSeparableMetric.h
1 
17 #pragma once
18 
31 #if defined(CPowerSeparableMetric_RECURSES)
32 #error Recursive header files inclusion detected in CPowerSeparableMetric.h
33 #else // defined(CPowerSeparableMetric_RECURSES)
35 #define CPowerSeparableMetric_RECURSES
36 
37 #if !defined CPowerSeparableMetric_h
39 #define CPowerSeparableMetric_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/geometry/volumes/distance/CPowerMetric.h"
47 
48 namespace DGtal
49 {
50  namespace concepts
51  {
52 
54  // class CPowerSeparableMetric
88  template <typename T>
90  {
91  // ----------------------- Concept checks ------------------------------
92  public:
93  typedef typename T::Point Point;
94  typedef typename T::Weight Weight;
95 
97  {
99  }
101  {
102  // const method dummyConst should take parameter myA of type A and return
103  // something of type B
104  ConceptUtils::sameType( myBool, myX.hiddenByPower(u,wu,v,wv,w,ww,start,end,dim) );
105  }
106  // ------------------------- Private Datas --------------------------------
107  private:
108  T myX; // do not require T to be default constructible.
111  bool myBool;
113 
114  // ------------------------- Internals ------------------------------------
115  private:
116 
117  }; // end of concept CPowerSeparableMetric
118  }
119 } // namespace DGtal
120 
121 // //
123 
124 #endif // !defined CPowerSeparableMetric_h
125 
126 #undef CPowerSeparableMetric_RECURSES
127 #endif // else defined(CPowerSeparableMetric_RECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
Definition: Common.h:136
Aim: defines the concept of special weighted metrics, so called power metrics.
Definition: CPowerMetric.h:99
Aim: defines the concept of separable metrics.
MyPointD Point
Definition: testClone2.cpp:383