DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CLMSTTangentFromDSS.h
1
16
17
#pragma once
18
28
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>
93
struct
CLMSTTangentFromDSS
:
boost::DefaultConstructible
<T>,
boost::CopyConstructible
<T>,
boost::Assignable
<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 ------------------------------
100
BOOST_CONCEPT_ASSERT
(( CForwardSegmentComputer < TDSS > ));
101
BOOST_CONCEPT_ASSERT
(( CBidirectionalRange < RealVector > ));
102
public
:
103
BOOST_CONCEPT_USAGE
(
CLMSTTangentFromDSS
)
104
{
105
concepts::ConceptUtils::sameType
(
vec
,
v1
.first );
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
}
110
void
checkConstConstraints
()
const
111
{
112
ConceptUtils::sameType
(
v1
,
x
.operator()(
dss
, 0, 10 ) );
113
}
114
// ------------------------- Private Data --------------------------------
115
private
:
116
RealVector
vec
;
117
Value
v1
,
v2
;
118
T
x
;
119
double
d
;
120
TDSS
dss
;
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)
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition
ConceptUtils.h:117
DGtal::concepts
Aim: Gathers several functions useful for concept checks.
Definition
CPositiveIrreducibleFraction.h:54
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
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::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((CBidirectionalRange< RealVector >))
DGtal::concepts::CLMSTTangentFromDSS::dss
TDSS dss
Definition
CLMSTTangentFromDSS.h:120
DGtal::concepts::CLMSTTangentFromDSS::d
double d
Definition
CLMSTTangentFromDSS.h:119
DGtal::concepts::CLMSTTangentFromDSS::checkConstConstraints
void checkConstConstraints() const
Definition
CLMSTTangentFromDSS.h:110
DGtal::concepts::CLMSTTangentFromDSS::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((CForwardSegmentComputer< TDSS >))
DGtal::concepts::CLMSTTangentFromDSS::x
T x
Definition
CLMSTTangentFromDSS.h:118
DGtal::concepts::CLMSTTangentFromDSS::Value
T::Value Value
Definition
CLMSTTangentFromDSS.h:96
DGtal::concepts::CLMSTTangentFromDSS::v1
Value v1
Definition
CLMSTTangentFromDSS.h:117
DGtal::concepts::CLMSTTangentFromDSS::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CLMSTTangentFromDSS)
Definition
CLMSTTangentFromDSS.h:103
DGtal::concepts::CLMSTTangentFromDSS::TDSS
T::TDSS TDSS
Definition
CLMSTTangentFromDSS.h:98
DGtal::concepts::CLMSTTangentFromDSS::v2
Value v2
Definition
CLMSTTangentFromDSS.h:117
DGtal::concepts::CLMSTTangentFromDSS::RealVector
T::RealVector RealVector
Definition
CLMSTTangentFromDSS.h:97
DGtal::concepts::CLMSTTangentFromDSS::vec
RealVector vec
Definition
CLMSTTangentFromDSS.h:116
boost::Assignable
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition
Boost.dox:32
boost::CopyConstructible
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition
Boost.dox:34
boost::DefaultConstructible
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition
Boost.dox:30
src
DGtal
geometry
curves
estimation
CLMSTTangentFromDSS.h
Generated on
for DGtal by
1.18.0