DGtal  1.4.beta
CLMSTTangentFromDSS.h
1 
17 #pragma once
18 
29 #if defined(CLMSTTangentFromDSS_RECURSES)
30 #error Recursive header files inclusion detected in CLMSTTangentFromDSS.h
31 #else // defined(CLMSTTangentFromDSS_RECURSES)
33 #define CLMSTTangentFromDSS_RECURSES
34 
35 #if !defined CLMSTTangentFromDSS_h
37 #define CLMSTTangentFromDSS_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 CLMSTTangentFromDSS
92  template <typename T>
94  {
95  // ----------------------- Types ------------------------------
96  typedef typename T::Value Value;
97  typedef typename T::RealVector RealVector;
98  typedef typename T::TDSS TDSS;
99  // ----------------------- Concept checks ------------------------------
102  public:
104  {
106  concepts::ConceptUtils::sameType( d, v1.second );
107  concepts::ConceptUtils::sameType( v1, x.operator()( dss, 0, 10 ) );
108  concepts::ConceptUtils::sameType( v1, v1 += v2 );
109  }
111  {
112  ConceptUtils::sameType( v1, x.operator()( dss, 0, 10 ) );
113  }
114  // ------------------------- Private Datas --------------------------------
115  private:
118  T x;
119  double d;
121  }; // end of concept CLMSTTangentFromDSS
122 
123  } // namespace concepts
124 } // namespace DGtal
125 
126 // //
128 
129 #endif // !defined CLMSTTangentFromDSS_h
130 
131 #undef CLMSTTangentFromDSS_RECURSES
132 #endif // else defined(CLMSTTangentFromDSS_RECURSES)
Space::RealVector RealVector
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 bidirectional range.
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...
Aim: Defines the concept describing a functor which calculates a direction of the 2D DSS and an eccen...
BOOST_CONCEPT_ASSERT((CBidirectionalRange< RealVector >))
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