DGtal 1.3.0
Loading...
Searching...
No Matches
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)
35#define CEuclideanOrientedShape_RECURSES
36
37#if !defined CEuclideanOrientedShape_h
39#define CEuclideanOrientedShape_h
40
42// Inclusions
43#include <iostream>
44#include "DGtal/base/Common.h"
45#include "DGtal/kernel/CCommutativeRing.h"
47
48namespace DGtal
49{
50 namespace concepts
51 {
53 // class CEuclideanOrientedShape
90 template <typename T>
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
100 {
101 ConceptUtils::sameType( myA, myX.orientation( p ));
102 }
103 // ------------------------- Private Datas --------------------------------
104 private:
105 T myX; // only if T is default constructible.
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)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Orientation
Definition: Common.h:142
Aim: characterizes models of digital oriented shapes. For example, models should provide an orientati...