DGtal  1.5.beta
CEuclideanBoundedShape.h
1 
17 #pragma once
18 
31 #if defined(CEuclideanBoundedShape_RECURSES)
32 #error Recursive header files inclusion detected in CEuclideanBoundedShape.h
33 #else // defined(CEuclideanBoundedShape_RECURSES)
35 #define CEuclideanBoundedShape_RECURSES
36 
37 #if !defined CEuclideanBoundedShape_h
39 #define CEuclideanBoundedShape_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 CEuclideanBoundedShape
95  template <typename TShape>
97  {
98  // ----------------------- Concept checks ------------------------------
99  public:
100 
101  typedef typename TShape::RealPoint RealPoint;
102 
104  {
105  // Shape should have a getUpperBound() returning a Point.
106  ConceptUtils::sameType( myP, myT.getUpperBound() );
107  // Shape should have a getLowerBound() returning a Point.
108  ConceptUtils::sameType( myP, myT.getLowerBound() );
109  }
110 
111  // ------------------------- Private Datas --------------------------------
112  private:
113  TShape myT;
115 
116  }; // end of concept CEuclideanBoundedShape
117  }
118 } // namespace DGtal
119 
120 
121 // //
123 
124 #endif // !defined CEuclideanBoundedShape_h
125 
126 #undef CEuclideanBoundedShape_RECURSES
127 #endif // else defined(CEuclideanBoundedShape_RECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
PointVector< 3, double > RealPoint