DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
ParametricShapeCurvatureFunctor.h
1
16
17
#pragma once
18
32
33
#if defined(ParametricShapeCurvatureFunctor_RECURSES)
34
#error Recursive header files inclusion detected in ParametricShapeCurvatureFunctor.h
35
#else
// defined(ParametricShapeCurvatureFunctor_RECURSES)
37
#define ParametricShapeCurvatureFunctor_RECURSES
38
39
#if !defined ParametricShapeCurvatureFunctor_h
41
#define ParametricShapeCurvatureFunctor_h
42
44
// Inclusions
45
#include <iostream>
46
#include "DGtal/base/Common.h"
48
49
namespace
DGtal
50
{
51
53
// template class ParametricShapeCurvatureFunctor
64
template
<
typename
TParametricShape>
65
class
ParametricShapeCurvatureFunctor
66
{
67
68
// ----------------------- Standard services ------------------------------
69
public
:
70
72
typedef
TParametricShape
ParametricShape
;
73
75
typedef
typename
TParametricShape::RealPoint
RealPoint
;
76
78
typedef
double
Quantity
;
79
83
ParametricShapeCurvatureFunctor
() =
delete
;
84
85
91
ParametricShapeCurvatureFunctor
(
const
ParametricShape
&aShape):
myShape
(aShape) {}
92
93
97
~ParametricShapeCurvatureFunctor
() =
default
;
98
99
100
// ----------------------- Interface --------------------------------------
101
public
:
108
ParametricShapeCurvatureFunctor
&
operator=
(
const
ParametricShapeCurvatureFunctor
& other ) =
delete
;
109
116
Quantity
operator()
(
const
RealPoint
&
aPoint
)
const
117
{
118
double
t =
myShape
.parameter(
aPoint
);
119
return
myShape
.curvature( t );
120
}
121
122
123
// ------------------------- Private Data --------------------------------
124
private
:
125
127
const
ParametricShape
&
myShape
;
128
129
// ------------------------- Internals ------------------------------------
130
private
:
131
132
};
// end of class ParametricShapeCurvatureFunctor
133
134
}
// namespace DGtal
135
136
//
138
139
#endif
// !defined ParametricShapeCurvatureFunctor_h
140
141
#undef ParametricShapeCurvatureFunctor_RECURSES
142
#endif
// else defined(ParametricShapeCurvatureFunctor_RECURSES)
DGtal::ParametricShapeCurvatureFunctor::~ParametricShapeCurvatureFunctor
~ParametricShapeCurvatureFunctor()=default
DGtal::ParametricShapeCurvatureFunctor::ParametricShape
TParametricShape ParametricShape
Type of parametric shape.
Definition
ParametricShapeCurvatureFunctor.h:72
DGtal::ParametricShapeCurvatureFunctor::operator=
ParametricShapeCurvatureFunctor & operator=(const ParametricShapeCurvatureFunctor &other)=delete
DGtal::ParametricShapeCurvatureFunctor::Quantity
double Quantity
Type of the functor output.
Definition
ParametricShapeCurvatureFunctor.h:78
DGtal::ParametricShapeCurvatureFunctor::ParametricShapeCurvatureFunctor
ParametricShapeCurvatureFunctor(const ParametricShape &aShape)
Definition
ParametricShapeCurvatureFunctor.h:91
DGtal::ParametricShapeCurvatureFunctor::RealPoint
TParametricShape::RealPoint RealPoint
Type of points.
Definition
ParametricShapeCurvatureFunctor.h:75
DGtal::ParametricShapeCurvatureFunctor::ParametricShapeCurvatureFunctor
ParametricShapeCurvatureFunctor()=delete
DGtal::ParametricShapeCurvatureFunctor::operator()
Quantity operator()(const RealPoint &aPoint) const
Definition
ParametricShapeCurvatureFunctor.h:116
DGtal::ParametricShapeCurvatureFunctor::myShape
const ParametricShape & myShape
Reference of the implicit shape.
Definition
ParametricShapeCurvatureFunctor.h:127
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
aPoint
const Point aPoint(3, 4)
src
DGtal
geometry
curves
estimation
ParametricShapeCurvatureFunctor.h
Generated on
for DGtal by
1.18.0