DGtal
1.3.beta
src
DGtal
shapes
CEuclideanOrientedShape.h
1
17
#pragma once
18
31
#if defined(CEuclideanOrientedShape_RECURSES)
32
#error Recursive header files inclusion detected in CEuclideanOrientedShape.h
33
#else // defined(CEuclideanOrientedShape_RECURSES)
34
35
#define CEuclideanOrientedShape_RECURSES
36
37
#if !defined CEuclideanOrientedShape_h
38
39
#define CEuclideanOrientedShape_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/kernel/CCommutativeRing.h"
47
48
namespace
DGtal
49
{
50
namespace
concepts
51
{
53
// class CEuclideanOrientedShape
90
template
<
typename
T>
91
struct
CEuclideanOrientedShape
92
{
93
// ----------------------- Concept checks ------------------------------
94
public
:
95
// 1. define first provided types (i.e. inner types), like
96
typedef
typename
T::RealPoint
RealPoint
;
97
98
// 2. then check the presence of data members, operators and methods with
99
BOOST_CONCEPT_USAGE
(
CEuclideanOrientedShape
)
100
{
101
ConceptUtils::sameType
(
myA
,
myX
.orientation( p ));
102
}
103
// ------------------------- Private Datas --------------------------------
104
private
:
105
T
myX
;
// only if T is default constructible.
106
Orientation
myA
;
107
RealPoint
p
;
108
109
// ------------------------- Internals ------------------------------------
110
private
:
111
112
};
// end of concept CEuclideanOrientedShape
113
}
114
}
// namespace DGtal
115
116
// //
118
119
#endif // !defined CEuclideanOrientedShape_h
120
121
#undef CEuclideanOrientedShape_RECURSES
122
#endif // else defined(CEuclideanOrientedShape_RECURSES)
DGtal::concepts::CEuclideanOrientedShape::myX
T myX
Definition:
CEuclideanOrientedShape.h:105
DGtal::concepts::CEuclideanOrientedShape::myA
Orientation myA
Definition:
CEuclideanOrientedShape.h:106
DGtal::Orientation
Orientation
Definition:
Common.h:142
DGtal::concepts::CEuclideanOrientedShape::RealPoint
T::RealPoint RealPoint
Definition:
CEuclideanOrientedShape.h:96
DGtal::concepts::CEuclideanOrientedShape
Aim: characterizes models of digital oriented shapes. For example, models should provide an orientati...
Definition:
CEuclideanOrientedShape.h:91
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::concepts::CEuclideanOrientedShape::p
RealPoint p
Definition:
CEuclideanOrientedShape.h:107
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition:
ConceptUtils.h:117
DGtal::concepts::CEuclideanOrientedShape::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CEuclideanOrientedShape)
Definition:
CEuclideanOrientedShape.h:99
RealPoint
Z2i::RealPoint RealPoint
Definition:
testAstroid2D.cpp:46
Generated on Mon Jun 20 2022 18:23:24 for DGtal by
1.8.17