DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
CircleFrom2Points.h
1
16
17
#pragma once
18
31
32
#if defined(CircleFrom2Points_RECURSES)
33
#error Recursive header files inclusion detected in CircleFrom2Points.h
34
#else
// defined(CircleFrom2Points_RECURSES)
36
#define CircleFrom2Points_RECURSES
37
38
#if !defined CircleFrom2Points_h
40
#define CircleFrom2Points_h
41
43
// Inclusions
44
#include <iostream>
45
46
#include "DGtal/base/Common.h"
47
#include "DGtal/kernel/PointVector.h"
48
#include "DGtal/kernel/NumberTraits.h"
49
#include "DGtal/io/Color.h"
50
#include "DGtal/shapes/fromPoints/CircleFrom3Points.h"
52
53
namespace
DGtal
54
{
55
56
58
// template class CircleFrom2Points
66
template
<
typename
TPo
int
>
67
class
CircleFrom2Points
68
{
69
70
// ----------------------- associated types ------------------------------
71
public
:
72
73
typedef
typename
TPoint::Coordinate
Coordinate
;
74
typedef
Coordinate
Distance
;
//to promote
75
typedef
TPoint
Point
;
76
typedef
TPoint
Vector
;
77
78
// ----------------------- Standard services ------------------------------
79
public
:
80
85
CircleFrom2Points
(
const
Point
& aPole);
86
87
94
CircleFrom2Points
(
const
Point
& aPole,
const
Point
& aFirstPoint,
const
Point
& aSecondPoint);
95
101
void
init
(
const
Point
& aFirstPoint,
const
Point
& aSecondPoint);
102
107
CircleFrom2Points
(
const
CircleFrom2Points
& other );
108
114
CircleFrom2Points
&
operator=
(
const
CircleFrom2Points
& other );
115
116
120
~CircleFrom2Points
();
121
122
// ----------------------- Interface --------------------------------------
123
public
:
124
129
void
selfDisplay
( std::ostream & out )
const
;
130
135
bool
isValid
()
const
;
136
142
Distance
signedDistance
(
const
Point
& aP)
const
;
143
150
void
getParameters
(
double
& cx,
double
& cy,
double
& r)
const
;
151
155
const
Point
&
pole
()
const
156
{
157
return
myPole
;
158
};
159
163
const
Point
&
p
()
const
164
{
165
return
myP
;
166
};
167
171
const
Point
&
q
()
const
172
{
173
return
myQ
;
174
};
175
176
//------------------ display -------------------------------
181
//DrawableWithBoard2D* defaultStyle( std::string mode="" ) const;
182
186
std::string
className
()
const
;
187
188
// ------------------------- Protected Data ------------------------------
189
private
:
190
// ------------------------- Private Data --------------------------------
191
private
:
192
//the three points that uniquely define the circle
196
Point
myPole
;
200
Point
myP
;
204
Point
myQ
;
205
// ------------------------- Hidden services ------------------------------
206
protected
:
207
208
// ------------------------- Internals ------------------------------------
209
private
:
210
211
212
213
214
};
// end of class CircleFrom2Points
215
216
223
template
<
typename
TPo
int
>
224
inline
225
std::ostream&
226
operator<<
( std::ostream & out,
227
const
CircleFrom2Points<TPoint>
&
object
)
228
{
229
object
.selfDisplay( out );
230
return
out;
231
}
232
233
234
}
// namespace DGtal
235
236
238
// Includes inline functions.
239
#include "DGtal/shapes/fromPoints/CircleFrom2Points.ih"
240
241
// //
243
244
#endif
// !defined CircleFrom2Points_h
245
246
#undef CircleFrom2Points_RECURSES
247
#endif
// else defined(CircleFrom2Points_RECURSES)
DGtal::CircleFrom2Points
Aim: Represents a circle that passes through a given point and that is thus uniquely defined by two o...
Definition
CircleFrom2Points.h:68
DGtal::CircleFrom2Points::getParameters
void getParameters(double &cx, double &cy, double &r) const
DGtal::CircleFrom2Points::~CircleFrom2Points
~CircleFrom2Points()
DGtal::CircleFrom2Points::className
std::string className() const
DGtal::CircleFrom2Points::CircleFrom2Points
CircleFrom2Points(const CircleFrom2Points &other)
DGtal::CircleFrom2Points::p
const Point & p() const
Definition
CircleFrom2Points.h:163
DGtal::CircleFrom2Points::isValid
bool isValid() const
DGtal::CircleFrom2Points::operator=
CircleFrom2Points & operator=(const CircleFrom2Points &other)
DGtal::CircleFrom2Points::init
void init(const Point &aFirstPoint, const Point &aSecondPoint)
DGtal::CircleFrom2Points::Coordinate
TPoint::Coordinate Coordinate
Definition
CircleFrom2Points.h:73
DGtal::CircleFrom2Points::CircleFrom2Points
CircleFrom2Points(const Point &aPole, const Point &aFirstPoint, const Point &aSecondPoint)
DGtal::CircleFrom2Points::Vector
TPoint Vector
Definition
CircleFrom2Points.h:76
DGtal::CircleFrom2Points::myQ
Point myQ
Definition
CircleFrom2Points.h:204
DGtal::CircleFrom2Points::Point
TPoint Point
Definition
CircleFrom2Points.h:75
DGtal::CircleFrom2Points::CircleFrom2Points
CircleFrom2Points(const Point &aPole)
DGtal::CircleFrom2Points::q
const Point & q() const
Definition
CircleFrom2Points.h:171
DGtal::CircleFrom2Points::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::CircleFrom2Points::pole
const Point & pole() const
Definition
CircleFrom2Points.h:155
DGtal::CircleFrom2Points::Distance
Coordinate Distance
Definition
CircleFrom2Points.h:74
DGtal::CircleFrom2Points::myPole
Point myPole
Definition
CircleFrom2Points.h:196
DGtal::CircleFrom2Points::myP
Point myP
Definition
CircleFrom2Points.h:200
DGtal::CircleFrom2Points::signedDistance
Distance signedDistance(const Point &aP) const
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
src
DGtal
shapes
fromPoints
CircleFrom2Points.h
Generated on
for DGtal by
1.18.0