DGtal
1.3.beta
src
DGtal
geometry
volumes
distance
CPowerSeparableMetric.h
1
17
#pragma once
18
31
#if defined(CPowerSeparableMetric_RECURSES)
32
#error Recursive header files inclusion detected in CPowerSeparableMetric.h
33
#else // defined(CPowerSeparableMetric_RECURSES)
34
35
#define CPowerSeparableMetric_RECURSES
36
37
#if !defined CPowerSeparableMetric_h
38
39
#define CPowerSeparableMetric_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/geometry/volumes/distance/CPowerMetric.h"
47
48
namespace
DGtal
49
{
50
namespace
concepts
51
{
52
54
// class CPowerSeparableMetric
88
template
<
typename
T>
89
struct
CPowerSeparableMetric
:
CPowerMetric
<T>
90
{
91
// ----------------------- Concept checks ------------------------------
92
public
:
93
typedef
typename
T::Point
Point
;
94
typedef
typename
T::Weight
Weight
;
95
96
BOOST_CONCEPT_USAGE
(
CPowerSeparableMetric
)
97
{
98
checkConstConstraints
();
99
}
100
void
checkConstConstraints
()
const
101
{
102
// const method dummyConst should take parameter myA of type A and return
103
// something of type B
104
ConceptUtils::sameType
(
myBool
,
myX
.hiddenByPower(
u
,
wu
,v,
wv
,w,
ww
,start,end,
dim
) );
105
}
106
// ------------------------- Private Datas --------------------------------
107
private
:
108
T
myX
;
// do not require T to be default constructible.
109
Point
u
,
v
,
w
,
start
,
end
;
110
Weight
ww
,
wu
,
wv
;
111
bool
myBool
;
112
DGtal::Dimension
dim
;
113
114
// ------------------------- Internals ------------------------------------
115
private
:
116
117
};
// end of concept CPowerSeparableMetric
118
}
119
}
// namespace DGtal
120
121
// //
123
124
#endif // !defined CPowerSeparableMetric_h
125
126
#undef CPowerSeparableMetric_RECURSES
127
#endif // else defined(CPowerSeparableMetric_RECURSES)
DGtal::concepts::CPowerSeparableMetric::wu
Weight wu
Definition:
CPowerSeparableMetric.h:110
DGtal::concepts::CPowerSeparableMetric::w
Point w
Definition:
CPowerSeparableMetric.h:109
DGtal::concepts::CPowerSeparableMetric::dim
DGtal::Dimension dim
Definition:
CPowerSeparableMetric.h:112
DGtal::concepts::CPowerSeparableMetric::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(CPowerSeparableMetric)
Definition:
CPowerSeparableMetric.h:96
DGtal::Dimension
DGtal::uint32_t Dimension
Definition:
Common.h:137
DGtal::concepts::CPowerMetric
Aim: defines the concept of special weighted metrics, so called power metrics.
Definition:
CPowerMetric.h:98
DGtal::concepts::CPowerSeparableMetric::u
Point u
Definition:
CPowerSeparableMetric.h:109
DGtal::concepts::CPowerSeparableMetric::Weight
T::Weight Weight
Definition:
CPowerSeparableMetric.h:94
DGtal::concepts::CPowerSeparableMetric::v
Point v
Definition:
CPowerSeparableMetric.h:109
DGtal::concepts::CPowerMetric::Point
T::Point Point
Definition:
CPowerMetric.h:105
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::concepts::CPowerSeparableMetric::myBool
bool myBool
Definition:
CPowerSeparableMetric.h:111
DGtal::concepts::CPowerSeparableMetric
Aim: defines the concept of separable metrics.
Definition:
CPowerSeparableMetric.h:89
DGtal::concepts::CPowerSeparableMetric::checkConstConstraints
void checkConstConstraints() const
Definition:
CPowerSeparableMetric.h:100
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition:
ConceptUtils.h:117
DGtal::concepts::CPowerSeparableMetric::myX
T myX
Definition:
CPowerSeparableMetric.h:108
DGtal::concepts::CPowerSeparableMetric::ww
Weight ww
Definition:
CPowerSeparableMetric.h:110
DGtal::concepts::CPowerSeparableMetric::end
Point end
Definition:
CPowerSeparableMetric.h:109
DGtal::concepts::CPowerSeparableMetric::wv
Weight wv
Definition:
CPowerSeparableMetric.h:110
DGtal::concepts::CPowerSeparableMetric::start
Point start
Definition:
CPowerSeparableMetric.h:109
Point
MyPointD Point
Definition:
testClone2.cpp:383
DGtal::concepts::CPowerMetric::Weight
T::Weight Weight
Definition:
CPowerMetric.h:103
DGtal::concepts::CPowerSeparableMetric::Point
T::Point Point
Definition:
CPowerSeparableMetric.h:93
Generated on Mon Jun 20 2022 18:23:27 for DGtal by
1.8.17