DGtal
1.3.beta
src
DGtal
topology
CDigitalSurfaceEmbedder.h
1
17
#pragma once
18
31
#if defined(CDigitalSurfaceEmbedder_RECURSES)
32
#error Recursive header files inclusion detected in CDigitalSurfaceEmbedder.h
33
#else // defined(CDigitalSurfaceEmbedder_RECURSES)
34
35
#define CDigitalSurfaceEmbedder_RECURSES
36
37
#if !defined CDigitalSurfaceEmbedder_h
38
39
#define CDigitalSurfaceEmbedder_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/CUnaryFunctor.h"
46
#include "DGtal/topology/CSCellEmbedder.h"
48
49
// @since 0.8 In DGtal::concepts
50
namespace
DGtal
{
51
namespace
concepts {
52
54
// class CDigitalSurfaceEmbedder
95
template
<
typename
T>
96
struct
CDigitalSurfaceEmbedder
:
CSCellEmbedder
<T>
97
{
98
// ----------------------- Concept checks ------------------------------
99
public
:
100
typedef
typename
T::KSpace
KSpace
;
101
typedef
typename
T::Surface
Surface
;
102
typedef
typename
T::SCell
SCell
;
103
typedef
typename
T::RealPoint
RealPoint
;
104
typedef
typename
T::Argument
Argument
;
105
typedef
typename
T::Value
Value
;
106
107
// Already checked in CSCellEmbedder
108
// BOOST_CONCEPT_ASSERT(( CCellularGridSpaceND< KSpace > ));
109
// BOOST_STATIC_ASSERT(( ConceptUtils::SameType< SCell, typename KSpace::SCell >::value ));
110
// BOOST_STATIC_ASSERT(( ConceptUtils::SameType< SCell, Argument >::value ));
111
// BOOST_STATIC_ASSERT(( ConceptUtils::SameType< RealPoint, typename KSpace::RealPoint >::value ));
112
// BOOST_STATIC_ASSERT(( ConceptUtils::SameType< RealPoint, Value >::value ));
113
BOOST_CONCEPT_USAGE
(
CDigitalSurfaceEmbedder
)
114
{
115
checkConstConstraints
();
116
}
117
118
void
checkConstConstraints
()
const
119
{
// operator()
120
// ConceptUtils::sameType( myRP, myX( myP ) );
121
ConceptUtils::sameType
(
mySurface
,
myX
.surface() );
122
}
123
// ------------------------- Private Datas --------------------------------
124
private
:
125
T
myX
;
// do not require T to be default constructible.
126
// SCell myP;
127
// RealPoint myRP;
128
Surface
mySurface
;
129
130
// ------------------------- Internals ------------------------------------
131
private
:
132
133
};
// end of concept CDigitalSurfaceEmbedder
134
135
}
// namespace concepts
136
}
// namespace DGtal
137
138
// //
140
141
#endif // !defined CDigitalSurfaceEmbedder_h
142
143
#undef CDigitalSurfaceEmbedder_RECURSES
144
#endif // else defined(CDigitalSurfaceEmbedder_RECURSES)
DGtal::concepts::CDigitalSurfaceEmbedder
Aim: A digital surface embedder is a specialized mapping from signed cells to Euclidean points....
Definition:
CDigitalSurfaceEmbedder.h:96
DGtal::concepts::CDigitalSurfaceEmbedder::Surface
T::Surface Surface
Definition:
CDigitalSurfaceEmbedder.h:101
SCell
Z3i::SCell SCell
Definition:
fullConvexityShortestPaths3D.cpp:83
DGtal::concepts::CDigitalSurfaceEmbedder::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CDigitalSurfaceEmbedder)
Definition:
CDigitalSurfaceEmbedder.h:113
Surface
SH3::DigitalSurface Surface
Definition:
exampleMaximalSegmentSliceEstimation.cpp:45
DGtal::concepts::CDigitalSurfaceEmbedder::KSpace
T::KSpace KSpace
Definition:
CDigitalSurfaceEmbedder.h:100
DGtal::concepts::CDigitalSurfaceEmbedder::SCell
T::SCell SCell
Definition:
CDigitalSurfaceEmbedder.h:102
KSpace
Z3i::KSpace KSpace
Definition:
testArithmeticalDSSComputerOnSurfels.cpp:48
DGtal::concepts::CDigitalSurfaceEmbedder::RealPoint
T::RealPoint RealPoint
Definition:
CDigitalSurfaceEmbedder.h:103
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::concepts::CDigitalSurfaceEmbedder::Value
T::Value Value
Definition:
CDigitalSurfaceEmbedder.h:105
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition:
ConceptUtils.h:117
DGtal::concepts::CDigitalSurfaceEmbedder::Argument
T::Argument Argument
Definition:
CDigitalSurfaceEmbedder.h:104
RealPoint
Z2i::RealPoint RealPoint
Definition:
testAstroid2D.cpp:46
DGtal::concepts::CDigitalSurfaceEmbedder::checkConstConstraints
void checkConstConstraints() const
Definition:
CDigitalSurfaceEmbedder.h:118
Value
double Value
Definition:
testSimpleRandomAccessRangeFromPoint.cpp:38
DGtal::concepts::CDigitalSurfaceEmbedder::mySurface
Surface mySurface
Definition:
CDigitalSurfaceEmbedder.h:128
DGtal::concepts::CDigitalSurfaceEmbedder::myX
T myX
Definition:
CDigitalSurfaceEmbedder.h:125
DGtal::concepts::CSCellEmbedder
Aim: A cell embedder is a mapping from signed cells to Euclidean points. It adds inner types to funct...
Definition:
CSCellEmbedder.h:97
Generated on Mon Jun 20 2022 18:23:23 for DGtal by
1.8.17