DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CSurfelLocalEstimator.h
1
16
17
#pragma once
18
30
31
#if defined(CSurfelLocalEstimator_RECURSES)
32
#error Recursive header files inclusion detected in CSurfelLocalEstimator.h
33
#else
// defined(CSurfelLocalEstimator_RECURSES)
35
#define CSurfelLocalEstimator_RECURSES
36
37
#if !defined CSurfelLocalEstimator_h
39
#define CSurfelLocalEstimator_h
40
42
// Inclusions
43
#include <iostream>
44
#include <boost/iterator/iterator_archetypes.hpp>
45
#include "DGtal/base/Common.h"
46
#include "DGtal/base/CQuantity.h"
48
49
// @since 0.8 In DGtal::concepts
50
namespace
DGtal
{
51
namespace
concepts
{
52
54
// class CSurfelLocalEstimator
105
template
<
typename
T>
106
struct
CSurfelLocalEstimator
107
:
boost::DefaultConstructible
<T>,
boost::CopyConstructible
<T>,
boost::Assignable
<T>
108
{
109
110
// ----------------------- Concept checks ------------------------------
111
public
:
112
113
typedef
typename
T::Quantity
Quantity
;
114
BOOST_CONCEPT_ASSERT
((
CQuantity< Quantity >
));
115
typedef
typename
T::Surfel
Surfel
;
116
117
BOOST_CONCEPT_USAGE
(
CSurfelLocalEstimator
)
118
{
119
//init method
120
myX
.init(
myH
,
myItb
,
myIte
);
121
122
ConceptUtils::sameType
(
myQ
,
myX
.eval(
myItb
) );
123
ConceptUtils::sameType
(
myIto
,
myX
.eval(
myItb
,
myIte
,
myIto
) );
124
check_const_constraints
();
125
}
126
void
check_const_constraints
()
const
127
{
128
ConceptUtils::sameType
(
myH
,
myX
.h() );
129
}
130
131
// ------------------------- Private Data --------------------------------
132
private
:
133
T
myX
;
134
135
double
myH
;
136
Quantity
myQ
;
137
boost::iterator_archetype<
Surfel
,
138
boost::iterator_archetypes::readable_iterator_t,
139
boost::forward_traversal_tag >
myItb
,
myIte
;
140
boost::iterator_archetype<
Quantity
,
141
boost::iterator_archetypes::writable_iterator_t,
142
boost::incrementable_traversal_tag >
myIto
;
143
144
// ------------------------- Internals ------------------------------------
145
private
:
146
147
};
// end of concept CSurfelLocalEstimator
148
149
}
// namespace concepts
150
}
// namespace DGtal
151
152
// //
154
155
#endif
// !defined CSurfelLocalEstimator_h
156
157
#undef CSurfelLocalEstimator_RECURSES
158
#endif
// else defined(CSurfelLocalEstimator_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::CQuantity
Aim: defines the concept of quantity in DGtal.
Definition
CQuantity.h:93
DGtal::concepts::CSurfelLocalEstimator
Aim: This concept describes an object that can process a range of surfels (that are supposed to belon...
Definition
CSurfelLocalEstimator.h:108
DGtal::concepts::CSurfelLocalEstimator::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CSurfelLocalEstimator)
Definition
CSurfelLocalEstimator.h:117
DGtal::concepts::CSurfelLocalEstimator::myH
double myH
Definition
CSurfelLocalEstimator.h:135
DGtal::concepts::CSurfelLocalEstimator::myX
T myX
Definition
CSurfelLocalEstimator.h:133
DGtal::concepts::CSurfelLocalEstimator::check_const_constraints
void check_const_constraints() const
Definition
CSurfelLocalEstimator.h:126
DGtal::concepts::CSurfelLocalEstimator::myItb
boost::iterator_archetype< Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > myItb
Definition
CSurfelLocalEstimator.h:139
DGtal::concepts::CSurfelLocalEstimator::myQ
Quantity myQ
Definition
CSurfelLocalEstimator.h:136
DGtal::concepts::CSurfelLocalEstimator::myIto
boost::iterator_archetype< Quantity, boost::iterator_archetypes::writable_iterator_t, boost::incrementable_traversal_tag > myIto
Definition
CSurfelLocalEstimator.h:142
DGtal::concepts::CSurfelLocalEstimator::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((CQuantity< Quantity >))
DGtal::concepts::CSurfelLocalEstimator::Quantity
T::Quantity Quantity
Definition
CSurfelLocalEstimator.h:113
DGtal::concepts::CSurfelLocalEstimator::myIte
boost::iterator_archetype< Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > myIte
Definition
CSurfelLocalEstimator.h:139
DGtal::concepts::CSurfelLocalEstimator::Surfel
T::Surfel Surfel
Definition
CSurfelLocalEstimator.h:115
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
surfaces
estimation
CSurfelLocalEstimator.h
Generated on
for DGtal by
1.18.0