DGtal  1.3.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)
32 
33 #define CLMSTDSSFilter_RECURSES
34 
35 #if !defined CLMSTDSSFilter_h
36 
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)
DGtal::concepts::CLMSTDSSFilter::TDSS
T::DSSType TDSS
Definition: CLMSTDSSFilter.h:92
DGtal::concepts::CLMSTDSSFilter::c
bool c
Definition: CLMSTDSSFilter.h:110
boost::DefaultConstructible
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition: Boost.dox:30
DGtal::concepts::CLMSTDSSFilter::checkConstConstraints
void checkConstConstraints() const
Definition: CLMSTDSSFilter.h:102
DGtal::concepts::CLMSTDSSFilter::dss
TDSS dss
Definition: CLMSTDSSFilter.h:114
DGtal::concepts::CLMSTDSSFilter::i
long int i
Definition: CLMSTDSSFilter.h:111
DGtal::concepts::CLMSTDSSFilter::x
T x
Definition: CLMSTDSSFilter.h:112
DGtal::concepts::CLMSTDSSFilter::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CLMSTDSSFilter)
Definition: CLMSTDSSFilter.h:96
DGtal::concepts::CLMSTDSSFilter
Aim: Defines the concept describing a functor which filters DSSes for L-MST calculations.
Definition: CLMSTDSSFilter.h:89
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
boost::CopyConstructible
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition: Boost.dox:34
DGtal::concepts::CLMSTDSSFilter::p
T::Point p
Definition: CLMSTDSSFilter.h:113
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal::concepts::CForwardSegmentComputer
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...
Definition: CForwardSegmentComputer.h:101
DGtal::concepts::CLMSTDSSFilter::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((CForwardSegmentComputer< TDSS >))
boost::Assignable
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition: Boost.dox:32
Point
MyPointD Point
Definition: testClone2.cpp:383