DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
ElementaryConvolutionNormalVectorEstimator.h
1
16
17
#pragma once
18
33
34
#if defined(ElementaryConvolutionNormalVectorEstimator_RECURSES)
35
#error Recursive header files inclusion detected in ElementaryConvolutionNormalVectorEstimator.h
36
#else
// defined(ElementaryConvolutionNormalVectorEstimator_RECURSES)
38
#define ElementaryConvolutionNormalVectorEstimator_RECURSES
39
40
#if !defined ElementaryConvolutionNormalVectorEstimator_h
42
#define ElementaryConvolutionNormalVectorEstimator_h
43
45
// Inclusions
46
#include <iostream>
47
#include <DGtal/base/Common.h>
48
#include <DGtal/topology/SCellsFunctors.h>
49
#include <vector>
50
52
53
namespace
DGtal
54
{
55
namespace
functors
56
{
58
// template class ElementaryConvolutionNormalVectorEstimator
74
template
<
typename
TSurfel,
typename
TEmbedder>
75
class
ElementaryConvolutionNormalVectorEstimator
76
{
77
public
:
78
79
typedef
TSurfel
Surfel
;
80
typedef
TEmbedder
SCellEmbedder
;
81
typedef
typename
SCellEmbedder::RealPoint
RealPoint
;
82
typedef
RealPoint
Quantity
;
83
90
ElementaryConvolutionNormalVectorEstimator
(
ConstAlias<SCellEmbedder>
anEmbedder,
91
const
double
h):
92
myEmbedder
(&anEmbedder),
myH
(h)
93
{
94
}
95
102
void
pushSurfel
(
const
Surfel
& aSurf,
103
const
double
aDistance)
104
{
105
RealPoint
elementary;
106
Dimension
i =
myEmbedder
->space().sOrthDir ( aSurf );
107
elementary[ i ] =
myEmbedder
->space().sDirect ( aSurf, i ) ? 1 : -1;
108
109
myWeightedVector
+= aDistance *elementary;
110
}
111
117
Quantity
eval
( )
118
{
119
return
myWeightedVector
.getNormalized();
120
}
121
126
void
reset
()
127
{
128
myWeightedVector
=
RealPoint
().
diagonal
(0.0);
129
}
130
131
132
private
:
133
135
const
SCellEmbedder
*
myEmbedder
;
136
138
RealPoint
myWeightedVector
;
139
140
//Grid step
141
double
myH
;
142
143
};
// end of class ElementaryConvolutionNormalVectorEstimator
144
}
//namespace functors
145
}
// namespace DGtal
146
147
148
// //
150
151
#endif
// !defined ElementaryConvolutionNormalVectorEstimator_h
152
153
#undef ElementaryConvolutionNormalVectorEstimator_RECURSES
154
#endif
// else defined(ElementaryConvolutionNormalVectorEstimator_RECURSES)
DGtal::ConstAlias
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Definition
ConstAlias.h:187
DGtal::PointVector::diagonal
static Self diagonal(Component val=1)
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::RealPoint
SCellEmbedder::RealPoint RealPoint
Definition
ElementaryConvolutionNormalVectorEstimator.h:81
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::myWeightedVector
RealPoint myWeightedVector
Array of CGAL points.
Definition
ElementaryConvolutionNormalVectorEstimator.h:138
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::reset
void reset()
Definition
ElementaryConvolutionNormalVectorEstimator.h:126
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::myEmbedder
const SCellEmbedder * myEmbedder
Alias of the geometrical embedder.
Definition
ElementaryConvolutionNormalVectorEstimator.h:135
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::myH
double myH
Definition
ElementaryConvolutionNormalVectorEstimator.h:141
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::SCellEmbedder
TEmbedder SCellEmbedder
Definition
ElementaryConvolutionNormalVectorEstimator.h:80
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::pushSurfel
void pushSurfel(const Surfel &aSurf, const double aDistance)
Definition
ElementaryConvolutionNormalVectorEstimator.h:102
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::eval
Quantity eval()
Definition
ElementaryConvolutionNormalVectorEstimator.h:117
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::ElementaryConvolutionNormalVectorEstimator
ElementaryConvolutionNormalVectorEstimator(ConstAlias< SCellEmbedder > anEmbedder, const double h)
Definition
ElementaryConvolutionNormalVectorEstimator.h:90
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::Surfel
TSurfel Surfel
Definition
ElementaryConvolutionNormalVectorEstimator.h:79
DGtal::functors::ElementaryConvolutionNormalVectorEstimator::Quantity
RealPoint Quantity
Definition
ElementaryConvolutionNormalVectorEstimator.h:82
DGtal::functors
functors namespace gathers all DGtal functors.
Definition
BasicBoolFunctors.h:49
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::Dimension
DGtal::uint32_t Dimension
Definition
Common.h:119
src
DGtal
geometry
surfaces
estimation
estimationFunctors
ElementaryConvolutionNormalVectorEstimator.h
Generated on
for DGtal by
1.18.0