DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
55  // class CDigitalBoundedShape
113  template <typename TShape>
115  {
116  // ----------------------- Concept checks ------------------------------
117  public:
118 
119  typedef typename TShape::Point Point;
120 
122  {
123  // Shape should have a getUpperBound() returning a Point.
124  ConceptUtils::sameType( myP, myT.getUpperBound() );
125  // Shape should have a getLowerBound() returning a Point.
126  ConceptUtils::sameType( myP, myT.getLowerBound() );
127  }
128 
129  // ------------------------- Private Datas --------------------------------
130  private:
131  TShape myT;
133 
134  }; // end of concept CDigitalBoundedShape
135 
136 } // namespace DGtal
137 
138 
139 // //
141 
142 #endif // !defined CDigitalBoundedShape_h
143 
144 #undef CDigitalBoundedShape_RECURSES
145 #endif // else defined(CDigitalBoundedShape_RECURSES)