DGtal  0.9.2
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)
34 
35 #define CPowerSeparableMetric_RECURSES
36 
37 #if !defined CPowerSeparableMetric_h
38 
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.
109  Point u,v,w,start,end;
110  Weight ww,wu,wv;
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)
DGtal::uint32_t Dimension
Definition: Common.h:113
void sameType(const T &t1, const T &t2)
Aim: defines the concept of separable metrics.
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: defines the concept of special weighted metrics, so called power metrics.
Definition: CPowerMetric.h:98