DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
DigitalSurfaceEmbedderWithNormalVectorEstimator.h
1
16
17
#pragma once
18
30
31
#if defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES)
32
#error Recursive header files inclusion detected in DigitalSurfaceEmbedderWithNormalVectorEstimator.h
33
#else
// defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES)
35
#define DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES
36
37
#if !defined DigitalSurfaceEmbedderWithNormalVectorEstimator_h
39
#define DigitalSurfaceEmbedderWithNormalVectorEstimator_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/ConstAlias.h"
46
#include "DGtal/kernel/NumberTraits.h"
47
#include "DGtal/topology/CDigitalSurfaceEmbedder.h"
49
50
namespace
DGtal
51
{
52
53
// Forward declaration.
54
template
<
typename
TDigitalSurfaceEmbedder,
55
typename
TNormalVectorEstimator >
56
class
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
;
57
59
71
72
template
<
typename
TDigitalSurfaceEmbedder,
73
typename
TNormalVectorEstimator >
74
class
DigitalSurfaceEmbedderWithNormalVectorEstimator
75
{
76
public
:
77
typedef
DigitalSurfaceEmbedderWithNormalVectorEstimator
78
< TDigitalSurfaceEmbedder, TNormalVectorEstimator >
Self
;
79
BOOST_CONCEPT_ASSERT
((
concepts::CDigitalSurfaceEmbedder<TDigitalSurfaceEmbedder>
));
80
81
typedef
TDigitalSurfaceEmbedder
DigitalSurfaceEmbedder
;
82
typedef
TNormalVectorEstimator
NormalVectorEstimator
;
83
84
typedef
typename
DigitalSurfaceEmbedder::KSpace
KSpace
;
85
typedef
typename
DigitalSurfaceEmbedder::Surface
Surface
;
86
typedef
typename
DigitalSurfaceEmbedder::SCell
SCell
;
87
typedef
typename
DigitalSurfaceEmbedder::RealPoint
RealPoint
;
88
typedef
typename
DigitalSurfaceEmbedder::Argument
Argument
;
89
typedef
typename
DigitalSurfaceEmbedder::Value
Value
;
90
91
typedef
typename
KSpace::Space
Space
;
92
typedef
typename
Space::RealVector
RealVector
;
93
typedef
typename
NormalVectorEstimator::Quantity
Quantity
;
94
95
BOOST_STATIC_ASSERT
((
concepts::ConceptUtils::SameType< RealVector, Quantity >::value
));
96
97
typedef
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap<DigitalSurfaceEmbedder,NormalVectorEstimator>
GradientMap
;
98
99
103
DigitalSurfaceEmbedderWithNormalVectorEstimator
();
104
110
Self
&
operator=
(
const
Self
& other );
111
117
DigitalSurfaceEmbedderWithNormalVectorEstimator
118
(
ConstAlias<DigitalSurfaceEmbedder>
aDSEmbedder,
119
ConstAlias<NormalVectorEstimator>
anEstimator );
120
125
DigitalSurfaceEmbedderWithNormalVectorEstimator
126
(
const
Self
& other );
127
131
~DigitalSurfaceEmbedderWithNormalVectorEstimator
();
132
133
// ----------------------- Interface --------------------------------------
134
public
:
135
143
RealPoint
operator()
(
const
SCell
& scell )
const
;
144
148
const
Surface
&
surface
()
const
;
149
153
const
KSpace
&
space
()
const
154
{
155
return
myDSEmbedder
->space();
156
}
157
162
GradientMap
gradientMap
()
const
;
163
169
RealVector
gradient
(
const
SCell
& scell )
const
;
170
171
// ----------------------- Interface --------------------------------------
172
public
:
173
179
void
selfDisplay
( std::ostream & out )
const
;
180
185
bool
isValid
()
const
;
186
187
// ------------------------- Protected Data ------------------------------
188
private
:
189
// ------------------------- Private Data --------------------------------
190
private
:
191
193
const
DigitalSurfaceEmbedder
*
myDSEmbedder
;
195
const
NormalVectorEstimator
*
myEstimator
;
196
197
// ------------------------- Hidden services ------------------------------
198
protected
:
199
200
};
// end of class DigitalSurfaceEmbedderWithNormalVectorEstimator
201
213
template
<
typename
TDigitalSurfaceEmbedder,
214
typename
TNormalVectorEstimator >
215
class
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
216
{
217
public
:
218
typedef
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap<TDigitalSurfaceEmbedder,TNormalVectorEstimator>
Self
;
219
BOOST_CONCEPT_ASSERT
((
concepts::CDigitalSurfaceEmbedder<TDigitalSurfaceEmbedder>
));
220
221
typedef
TDigitalSurfaceEmbedder
DigitalSurfaceEmbedder
;
222
typedef
TNormalVectorEstimator
NormalVectorEstimator
;
223
224
typedef
DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator >
Embedder
;
225
typedef
typename
Embedder::SCell
Argument
;
226
typedef
typename
Embedder::RealVector
Value
;
227
229
~DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
();
230
232
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
();
233
235
Self
&
operator=
(
const
Self
& other );
236
241
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
242
(
const
Self
& other );
243
248
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
249
(
ConstAlias<Embedder>
embedder );
250
256
Value
operator()
(
const
Argument
& arg )
const
;
257
258
protected
:
260
const
Embedder
*
myEmbedder
;
261
262
private
:
263
264
};
265
272
template
<
typename
TDigitalSurfaceEmbedder,
typename
TNormalVectorEstimator >
273
std::ostream&
274
operator<<
( std::ostream & out,
275
const
DigitalSurfaceEmbedderWithNormalVectorEstimator<TDigitalSurfaceEmbedder, TNormalVectorEstimator>
&
object
);
276
277
}
// namespace DGtal
278
279
281
// Includes inline functions.
282
#include "DGtal/geometry/surfaces/estimation/DigitalSurfaceEmbedderWithNormalVectorEstimator.ih"
283
284
// //
286
287
#endif
// !defined DigitalSurfaceEmbedderWithNormalVectorEstimator_h
288
289
#undef DigitalSurfaceEmbedderWithNormalVectorEstimator_RECURSES
290
#endif
// else defined(DigitalSurfaceEmbedderWithNormalVectorEstimator_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::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:216
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::operator=
Self & operator=(const Self &other)
Assignment.
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::Argument
Embedder::SCell Argument
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:225
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::DigitalSurfaceEmbedder
DigitalSurfaceEmbedder DigitalSurfaceEmbedder
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:221
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap(const Self &other)
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::Embedder
DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator > Embedder
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:224
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::operator()
Value operator()(const Argument &arg) const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::NormalVectorEstimator
NormalVectorEstimator NormalVectorEstimator
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:222
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::Self
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator > Self
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:218
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::myEmbedder
const Embedder * myEmbedder
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:260
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap(ConstAlias< Embedder > embedder)
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator >::Value
Embedder::RealVector Value
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:226
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap()
Default constructor. The object is not valid.
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap::~DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap
~DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap()
Destructor. Does nothing.
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator >
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::isValid
bool isValid() const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::space
const KSpace & space() const
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:153
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::Value
DigitalSurfaceEmbedder::Value Value
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:89
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::DigitalSurfaceEmbedderWithNormalVectorEstimator
DigitalSurfaceEmbedderWithNormalVectorEstimator(ConstAlias< DigitalSurfaceEmbedder > aDSEmbedder, ConstAlias< NormalVectorEstimator > anEstimator)
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::GradientMap
DigitalSurfaceEmbedderWithNormalVectorEstimatorGradientMap< DigitalSurfaceEmbedder, NormalVectorEstimator > GradientMap
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:97
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::Argument
DigitalSurfaceEmbedder::Argument Argument
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:88
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::Quantity
NormalVectorEstimator::Quantity Quantity
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:93
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::SCell
DigitalSurfaceEmbedder::SCell SCell
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:86
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::Space
KSpace::Space Space
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:91
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::KSpace
DigitalSurfaceEmbedder::KSpace KSpace
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:84
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::operator=
Self & operator=(const Self &other)
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::gradientMap
GradientMap gradientMap() const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::NormalVectorEstimator
TNormalVectorEstimator NormalVectorEstimator
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:82
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::~DigitalSurfaceEmbedderWithNormalVectorEstimator
~DigitalSurfaceEmbedderWithNormalVectorEstimator()
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::DigitalSurfaceEmbedderWithNormalVectorEstimator
DigitalSurfaceEmbedderWithNormalVectorEstimator(const Self &other)
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator >::myDSEmbedder
const DigitalSurfaceEmbedder * myDSEmbedder
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:193
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::RealPoint
DigitalSurfaceEmbedder::RealPoint RealPoint
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:87
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::Self
DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator > Self
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:78
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::DigitalSurfaceEmbedderWithNormalVectorEstimator
DigitalSurfaceEmbedderWithNormalVectorEstimator()
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceEmbedder< TDigitalSurfaceEmbedder >))
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::RealVector
Space::RealVector RealVector
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:92
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::gradient
RealVector gradient(const SCell &scell) const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::BOOST_STATIC_ASSERT
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< RealVector, Quantity >::value))
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< DigitalSurfaceEmbedder, NormalVectorEstimator >::myEstimator
const NormalVectorEstimator * myEstimator
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:195
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::surface
const Surface & surface() const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::operator()
RealPoint operator()(const SCell &scell) const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::Surface
DigitalSurfaceEmbedder::Surface Surface
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:85
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator::DigitalSurfaceEmbedder
TDigitalSurfaceEmbedder DigitalSurfaceEmbedder
Definition
DigitalSurfaceEmbedderWithNormalVectorEstimator.h:81
DGtal::KhalimskySpaceND< 3, Integer >::Space
SpaceND< dim, Integer > Space
Definition
KhalimskySpaceND.h:410
DGtal::SpaceND< dim, Integer >::RealVector
PointVector< dim, double > RealVector
Definition
SpaceND.h:121
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::concepts::CDigitalSurfaceEmbedder
Aim: A digital surface embedder is a specialized mapping from signed cells to Euclidean points....
Definition
CDigitalSurfaceEmbedder.h:97
DGtal::concepts::ConceptUtils::SameType::value
static const bool value
Definition
ConceptUtils.h:107
src
DGtal
geometry
surfaces
estimation
DigitalSurfaceEmbedderWithNormalVectorEstimator.h
Generated on
for DGtal by
1.18.0