DGtal  1.1.0
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)
32 
33 #define CLMSTTangentFromDSS_RECURSES
34 
35 #if !defined CLMSTTangentFromDSS_h
36 
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)
boost::DefaultConstructible
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition: Boost.dox:30
DGtal::concepts::CLMSTTangentFromDSS::v2
Value v2
Definition: CLMSTTangentFromDSS.h:117
DGtal::concepts::CLMSTTangentFromDSS::checkConstConstraints
void checkConstConstraints() const
Definition: CLMSTTangentFromDSS.h:110
RealVector
Z3i::RealVector RealVector
Definition: sphereCotangentLaplaceOperator.cpp:71
DGtal::concepts::CBidirectionalRange
Aim: Defines the concept describing a bidirectional range.
Definition: CBidirectionalRange.h:91
DGtal::concepts::CLMSTTangentFromDSS::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((CBidirectionalRange< RealVector >))
DGtal::concepts::CLMSTTangentFromDSS::RealVector
T::RealVector RealVector
Definition: CLMSTTangentFromDSS.h:97
DGtal::concepts::CLMSTTangentFromDSS::Value
T::Value Value
Definition: CLMSTTangentFromDSS.h:96
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition: ClosedIntegerHalfPlane.h:49
DGtal::concepts::CLMSTTangentFromDSS::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((CForwardSegmentComputer< TDSS >))
DGtal::concepts::CLMSTTangentFromDSS::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CLMSTTangentFromDSS)
Definition: CLMSTTangentFromDSS.h:103
boost::CopyConstructible
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition: Boost.dox:34
DGtal::concepts::CLMSTTangentFromDSS::d
double d
Definition: CLMSTTangentFromDSS.h:119
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal::concepts::CLMSTTangentFromDSS
Aim: Defines the concept describing a functor which calculates a direction of the 2D DSS and an eccen...
Definition: CLMSTTangentFromDSS.h:94
DGtal::concepts::CLMSTTangentFromDSS::x
T x
Definition: CLMSTTangentFromDSS.h:118
DGtal::concepts::CLMSTTangentFromDSS::dss
TDSS dss
Definition: CLMSTTangentFromDSS.h:120
DGtal::concepts::CForwardSegmentComputer
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...
Definition: CForwardSegmentComputer.h:102
DGtal::concepts::CLMSTTangentFromDSS::TDSS
T::TDSS TDSS
Definition: CLMSTTangentFromDSS.h:98
boost::Assignable
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition: Boost.dox:32
DGtal::concepts::CLMSTTangentFromDSS::v1
Value v1
Definition: CLMSTTangentFromDSS.h:117
DGtal::concepts::CLMSTTangentFromDSS::vec
RealVector vec
Definition: CLMSTTangentFromDSS.h:116
Value
double Value
Definition: testSimpleRandomAccessRangeFromPoint.cpp:38