DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
C2x2DetComputer.h
1
16
17
#pragma once
18
30
31
#if defined(C2x2DetComputer_RECURSES)
32
#error Recursive header files inclusion detected in C2x2DetComputer.h
33
#else
// defined(C2x2DetComputer_RECURSES)
35
#define C2x2DetComputer_RECURSES
36
37
#if !defined C2x2DetComputer_h
39
#define C2x2DetComputer_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
46
#include "DGtal/kernel/CEuclideanRing.h"
47
#include "DGtal/kernel/CSignedNumber.h"
49
50
namespace
DGtal
51
{
52
54
// class C2x2DetComputer
106
template
<
typename
T>
107
struct
C2x2DetComputer
:
boost::DefaultConstructible
<T>,
boost::CopyConstructible
<T>,
boost::Assignable
<T>
108
{
109
// ----------------------- Concept checks ------------------------------
110
public
:
111
typedef
typename
T::ArgumentInteger
ArgumentType
;
112
BOOST_CONCEPT_ASSERT
((
concepts::CEuclideanRing< ArgumentType >
));
113
114
typedef
typename
T::ResultInteger
ResultType
;
115
BOOST_CONCEPT_ASSERT
((
concepts::CSignedNumber< ResultType >
));
116
117
BOOST_CONCEPT_USAGE
(
C2x2DetComputer
)
118
{
119
concepts::ConceptUtils::sameType
(
myR
,
myX
(
myA
,
myB
,
myC
,
myD
) );
120
myX
.init(
myA
,
myB
);
121
concepts::ConceptUtils::sameType
(
myR
,
myX
(
myA
,
myB
) );
122
}
123
// ------------------------- Private Data --------------------------------
124
private
:
125
T
myX
;
126
ArgumentType
myA
,
myB
,
myC
,
myD
;
127
ResultType
myR
;
128
// ------------------------- Internals ------------------------------------
129
private
:
130
131
};
// end of concept C2x2DetComputer
132
133
}
// namespace DGtal
134
135
// //
137
138
#endif
// !defined C2x2DetComputer_h
139
140
#undef C2x2DetComputer_RECURSES
141
#endif
// else defined(C2x2DetComputer_RECURSES)
DGtal::concepts::ConceptUtils::sameType
void sameType(const T &, const T &)
Definition
ConceptUtils.h:117
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::C2x2DetComputer
Aim: This concept gathers all models that are able to compute the (sign of the) determinant of a 2x2 ...
Definition
C2x2DetComputer.h:108
DGtal::C2x2DetComputer::myR
ResultType myR
Definition
C2x2DetComputer.h:127
DGtal::C2x2DetComputer::myD
ArgumentType myD
Definition
C2x2DetComputer.h:126
DGtal::C2x2DetComputer::myB
ArgumentType myB
Definition
C2x2DetComputer.h:126
DGtal::C2x2DetComputer::ResultType
T::ResultInteger ResultType
Definition
C2x2DetComputer.h:114
DGtal::C2x2DetComputer::BOOST_CONCEPT_USAGE
BOOST_CONCEPT_USAGE(C2x2DetComputer)
Definition
C2x2DetComputer.h:117
DGtal::C2x2DetComputer::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CEuclideanRing< ArgumentType >))
DGtal::C2x2DetComputer::myA
ArgumentType myA
Definition
C2x2DetComputer.h:126
DGtal::C2x2DetComputer::myC
ArgumentType myC
Definition
C2x2DetComputer.h:126
DGtal::C2x2DetComputer::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CSignedNumber< ResultType >))
DGtal::C2x2DetComputer::ArgumentType
T::ArgumentInteger ArgumentType
Definition
C2x2DetComputer.h:111
DGtal::C2x2DetComputer::myX
T myX
Definition
C2x2DetComputer.h:125
DGtal::concepts::CEuclideanRing
Aim: Defines the mathematical concept equivalent to a unitary commutative ring with a division operat...
Definition
CEuclideanRing.h:88
DGtal::concepts::CSignedNumber
Aim: Concept checking for Signed Numbers. Models of this concept should be listed in NumberTraits cla...
Definition
CSignedNumber.h:98
boost::Assignable
Go to http://www.sgi.com/tech/stl/Assignable.html.
Definition
Boost.dox:32
boost::CopyConstructible
Go to http://www.sgi.com/tech/stl/CopyConstructible.html.
Definition
Boost.dox:34
boost::DefaultConstructible
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition
Boost.dox:30
src
DGtal
geometry
tools
determinant
C2x2DetComputer.h
Generated on
for DGtal by
1.18.0