DGtal  1.1.0
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.
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::concepts::CPowerSeparableMetric::wu
Weight wu
Definition: CPowerSeparableMetric.h:110
DGtal::concepts::CPowerSeparableMetric::w
Point w
Definition: CPowerSeparableMetric.h:109
DGtal::concepts::CPowerSeparableMetric::dim
DGtal::Dimension dim
Definition: CPowerSeparableMetric.h:112
DGtal::concepts::CPowerSeparableMetric::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CPowerSeparableMetric)
Definition: CPowerSeparableMetric.h:96
DGtal::Dimension
DGtal::uint32_t Dimension
Definition: Common.h:133
DGtal::concepts::CPowerMetric
Aim: defines the concept of special weighted metrics, so called power metrics.
Definition: CPowerMetric.h:99
DGtal::concepts::CPowerSeparableMetric::u
Point u
Definition: CPowerSeparableMetric.h:109
DGtal::concepts::CPowerSeparableMetric::Weight
T::Weight Weight
Definition: CPowerSeparableMetric.h:94
DGtal::concepts::CPowerSeparableMetric::v
Point v
Definition: CPowerSeparableMetric.h:109
DGtal::concepts::CPowerMetric::Point
T::Point Point
Definition: CPowerMetric.h:105
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition: ClosedIntegerHalfPlane.h:49
DGtal::concepts::CPowerSeparableMetric::myBool
bool myBool
Definition: CPowerSeparableMetric.h:111
DGtal::concepts::CPowerSeparableMetric
Aim: defines the concept of separable metrics.
Definition: CPowerSeparableMetric.h:90
DGtal::concepts::CPowerSeparableMetric::checkConstConstraints
void checkConstConstraints() const
Definition: CPowerSeparableMetric.h:100
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal::concepts::CPowerSeparableMetric::myX
T myX
Definition: CPowerSeparableMetric.h:108
DGtal::concepts::CPowerSeparableMetric::ww
Weight ww
Definition: CPowerSeparableMetric.h:110
DGtal::concepts::CPowerSeparableMetric::end
Point end
Definition: CPowerSeparableMetric.h:109
DGtal::concepts::CPowerSeparableMetric::wv
Weight wv
Definition: CPowerSeparableMetric.h:110
DGtal::concepts::CPowerSeparableMetric::start
Point start
Definition: CPowerSeparableMetric.h:109
Point
MyPointD Point
Definition: testClone2.cpp:383
DGtal::concepts::CPowerMetric::Weight
T::Weight Weight
Definition: CPowerMetric.h:103
DGtal::concepts::CPowerSeparableMetric::Point
T::Point Point
Definition: CPowerSeparableMetric.h:93