DGtal  0.9.2
CDigitalBoundedShape.h
1 
17 #pragma once
18 
31 #if defined(CDigitalBoundedShape_RECURSES)
32 #error Recursive header files inclusion detected in CDigitalBoundedShape.h
33 #else // defined(CDigitalBoundedShape_RECURSES)
34 
35 #define CDigitalBoundedShape_RECURSES
36 
37 #if !defined CDigitalBoundedShape_h
38 
39 #define CDigitalBoundedShape_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "boost/concept_check.hpp"
45 #include "DGtal/base/Common.h"
46 
47 #include "DGtal/kernel/domains/CDomain.h"
48 #include "DGtal/kernel/CSpace.h"
50 
51 namespace DGtal
52 {
53  namespace concepts
54  {
56  // class CDigitalBoundedShape
89  template <typename TShape>
91  {
92  // ----------------------- Concept checks ------------------------------
93  public:
94 
95  typedef typename TShape::Point Point;
96 
98  {
99  // Shape should have a getUpperBound() returning a Point.
100  ConceptUtils::sameType( myP, myT.getUpperBound() );
101  // Shape should have a getLowerBound() returning a Point.
102  ConceptUtils::sameType( myP, myT.getLowerBound() );
103  }
104 
105  // ------------------------- Private Datas --------------------------------
106  private:
107  TShape myT;
108  Point myP;
109 
110  }; // end of concept CDigitalBoundedShape
111  }
112 } // namespace DGtal
113 
114 
115 // //
117 
118 #endif // !defined CDigitalBoundedShape_h
119 
120 #undef CDigitalBoundedShape_RECURSES
121 #endif // else defined(CDigitalBoundedShape_RECURSES)
Aim: designs the concept of bounded shapes in DGtal (shape for which upper and lower bounding bounds ...
void sameType(const T &t1, const T &t2)
DGtal is the top-level namespace which contains all DGtal functions and types.