DGtal  1.5.beta
CLMSTDSSFilter.h
1 
17 #pragma once
18 
29 #if defined(CLMSTDSSFilter_RECURSES)
30 #error Recursive header files inclusion detected in CLMSTDSSFilter.h
31 #else // defined(CLMSTDSSFilter_RECURSES)
33 #define CLMSTDSSFilter_RECURSES
34 
35 #if !defined CLMSTDSSFilter_h
37 #define CLMSTDSSFilter_h
38 
40 // Inclusions
41 #include <iostream>
42 #include "DGtal/base/Common.h"
43 #include "boost/concept_check.hpp"
44 #include "DGtal/base/ConceptUtils.h"
45 #include "DGtal/base/CBidirectionalRange.h"
46 #include "DGtal/geometry/curves/CForwardSegmentComputer.h"
48 
49 namespace DGtal
50 {
51  namespace concepts
52  {
53 
55  // class CLMSTDSSFilter
88  template <typename T>
90  {
91  // ----------------------- Types ------------------------------
92  typedef typename T::DSSType TDSS;
93  // ----------------------- Concept checks ------------------------------
95  public:
97  {
98  ConceptUtils::sameType( c, x.operator()( dss ) );
99  ConceptUtils::sameType( c, x.admissibility ( dss, p ) );
100  ConceptUtils::sameType( i, x.position ( dss, p ) );
101  }
103  {
104  ConceptUtils::sameType( c, x.operator()( dss ) );
105  ConceptUtils::sameType( c, x.admissibility ( dss, p ) );
106  ConceptUtils::sameType( i, x.position ( dss, p ) );
107  }
108  // ------------------------- Private Datas --------------------------------
109  private:
110  bool c;
111  long int i;
112  T x;
113  typename T::Point p;
115  }; // end of concept CLMSTDSSFilter
116 
117  } // namespace concepts
118 } // namespace DGtal
119 
120 // //
122 
123 #endif // !defined CLMSTDSSFilter_h
124 
125 #undef CLMSTDSSFilter_RECURSES
126 #endif // else defined(CLMSTDSSFilter_RECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...
Aim: Defines the concept describing a functor which filters DSSes for L-MST calculations.
BOOST_CONCEPT_ASSERT((CForwardSegmentComputer< TDSS >))
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition: Boost.dox:32
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition: Boost.dox:34
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition: Boost.dox:30
MyPointD Point
Definition: testClone2.cpp:383