DGtal
1.1.0
src
DGtal
geometry
surfaces
estimation
CConvolutionWeights.h
1
17
#pragma once
18
31
#if defined(CConvolutionWeights_RECURSES)
32
#error Recursive header files inclusion detected in CConvolutionWeights.h
33
#else // defined(CConvolutionWeights_RECURSES)
34
35
#define CConvolutionWeights_RECURSES
36
37
#if !defined CConvolutionWeights_h
38
39
#define CConvolutionWeights_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
46
47
namespace
DGtal
48
{
49
namespace
deprecated
50
{
51
namespace
concepts
52
{
54
// class CConvolutionWeights
93
template
<
typename
T>
94
struct
CConvolutionWeights
:
boost::CopyConstructible
<T>,
boost::Assignable
<T>
95
// Use derivation for coarser concepts, like
96
// : CoarserConcept<T>
97
// Think to boost::CopyConstructible<T>, boost::DefaultConstructible<T>, ...
98
// http://www.boost.org/doc/libs/1_49_0/libs/concept_check/reference.htm
99
{
100
// ----------------------- Concept checks ------------------------------
101
public
:
102
103
//inner type
104
typedef
typename
T::Distance
Distance
;
105
106
// 2. then check the presence of data members, operators and methods with
107
BOOST_CONCEPT_USAGE
(
CConvolutionWeights
)
108
{
109
110
DGtal::concepts::ConceptUtils::sameType
(
myB
,
myX
(
myA
) );
111
}
112
113
// ------------------------- Private Datas --------------------------------
114
private
:
115
T
myX
;
// do not require T to be default constructible.
116
Distance
myA
;
117
double
myB
;
118
119
// ------------------------- Internals ------------------------------------
120
private
:
121
122
};
// end of concept CConvolutionWeights
123
}
124
}
125
}
// namespace DGtal
126
127
// //
129
130
#endif // !defined CConvolutionWeights_h
131
132
#undef CConvolutionWeights_RECURSES
133
#endif // else defined(CConvolutionWeights_RECURSES)
DGtal::deprecated::concepts::CConvolutionWeights::Distance
T::Distance Distance
Definition:
CConvolutionWeights.h:104
DGtal::deprecated::concepts::CConvolutionWeights::myA
Distance myA
Definition:
CConvolutionWeights.h:116
DGtal::deprecated::concepts::CConvolutionWeights
Aim: defines models of centered convolution kernel used for normal vector integration for instance.
Definition:
CConvolutionWeights.h:99
DGtal::deprecated::concepts::CConvolutionWeights::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CConvolutionWeights)
Definition:
CConvolutionWeights.h:107
DGtal::deprecated::concepts::CConvolutionWeights::myX
T myX
Definition:
CConvolutionWeights.h:115
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition:
ClosedIntegerHalfPlane.h:49
DGtal::deprecated::concepts::CConvolutionWeights::myB
double myB
Definition:
CConvolutionWeights.h:117
boost::CopyConstructible
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition:
Boost.dox:34
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition:
ConceptUtils.h:117
boost::Assignable
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition:
Boost.dox:32
Generated on Fri Oct 9 2020 08:57:45 for DGtal by
1.8.20