DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CAdditivePrimitiveComputer.h
1
16
17
#pragma once
18
30
31
#if defined(CAdditivePrimitiveComputer_RECURSES)
32
#error Recursive header files inclusion detected in CAdditivePrimitiveComputer.h
33
#else
// defined(CAdditivePrimitiveComputer_RECURSES)
35
#define CAdditivePrimitiveComputer_RECURSES
36
37
#if !defined CAdditivePrimitiveComputer_h
39
#define CAdditivePrimitiveComputer_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "boost/concept_check.hpp"
46
#include "DGtal/base/ConceptUtils.h"
47
#include "DGtal/base/BasicArchetypes.h"
48
#include "DGtal/geometry/surfaces/CIncrementalPrimitiveComputer.h"
50
51
// @since 0.8 In DGtal::concepts
52
namespace
DGtal
{
53
namespace
concepts
{
54
56
// class CAdditivePrimitiveComputer
98
template
<
typename
T>
99
struct
CAdditivePrimitiveComputer
:
CIncrementalPrimitiveComputer
<T>
100
{
101
// ----------------------- Concept checks ------------------------------
102
public
:
103
// Inner types
104
typedef
typename
T::Point
Point
;
// already required in CIncrementalPrimitiveComputer
105
// Methods
106
BOOST_CONCEPT_USAGE
(
CAdditivePrimitiveComputer
)
107
{
108
ConceptUtils::sameType
(
myBool
,
myX
.extend(
myIt
,
myIt
) );
109
checkConstConstraints
();
110
}
111
void
checkConstConstraints
()
const
112
{
113
ConceptUtils::sameType
(
myBool
,
myX
.isExtendable(
myIt
,
myIt
) );
114
}
115
// ------------------------- Private Data --------------------------------
116
private
:
117
T
myX
;
// only if T is default constructible.
118
bool
myBool
;
119
CForwardIteratorArchetype<Point>
myIt
;
120
121
// ------------------------- Internals ------------------------------------
122
private
:
123
124
};
// end of concept CAdditivePrimitiveComputer
125
126
}
// namespace concepts
127
}
// namespace DGtal
128
129
// //
131
132
#endif
// !defined CAdditivePrimitiveComputer_h
133
134
#undef CAdditivePrimitiveComputer_RECURSES
135
#endif
// else defined(CAdditivePrimitiveComputer_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::CForwardIteratorArchetype
An archetype of ForwardIterator.
Definition
BasicArchetypes.h:98
DGtal::concepts::CAdditivePrimitiveComputer
Aim: Defines the concept describing an object that computes some primitive from input points given gr...
Definition
CAdditivePrimitiveComputer.h:100
DGtal::concepts::CAdditivePrimitiveComputer::myX
T myX
Definition
CAdditivePrimitiveComputer.h:117
DGtal::concepts::CAdditivePrimitiveComputer::checkConstConstraints
void checkConstConstraints() const
Definition
CAdditivePrimitiveComputer.h:111
DGtal::concepts::CAdditivePrimitiveComputer::Point
T::Point Point
Definition
CAdditivePrimitiveComputer.h:104
DGtal::concepts::CAdditivePrimitiveComputer::myBool
bool myBool
Definition
CAdditivePrimitiveComputer.h:118
DGtal::concepts::CAdditivePrimitiveComputer::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CAdditivePrimitiveComputer)
Definition
CAdditivePrimitiveComputer.h:106
DGtal::concepts::CAdditivePrimitiveComputer::myIt
CForwardIteratorArchetype< Point > myIt
Definition
CAdditivePrimitiveComputer.h:119
DGtal::concepts::CIncrementalPrimitiveComputer
Aim: Defines the concept describing an object that computes some primitive from input points given on...
Definition
CIncrementalPrimitiveComputer.h:100
src
DGtal
geometry
surfaces
CAdditivePrimitiveComputer.h
Generated on
for DGtal by
1.18.0