NAGASH
0.9.8
Next Generation Analysis System
Loading...
Searching...
No Matches
include
NAGASH
Graph2DTool.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Tool.h
"
4
5
namespace
NAGASH
6
{
7
class
Triangle;
8
class
Circle;
9
10
class
Point
11
{
12
private
:
13
double
x
;
14
double
y
;
15
16
public
:
17
Point
(
double
_x,
double
_y)
18
{
19
x
= _x;
20
y
= _y;
21
}
22
23
Point
()
24
{
25
x
= 0;
26
y
= 0;
27
}
28
29
double
X
() {
return
x
; }
30
double
Y
() {
return
y
; }
31
double
Distance
(
Point
a) {
return
sqrt(pow(a.
X
() -
x
, 2) + pow(a.
Y
() -
y
, 2)); }
32
bool
IsInside
(
Circle
c);
33
bool
IsInside
(
Triangle
t);
34
};
35
36
class
Edge
37
{
38
private
:
39
Point
s
;
40
Point
e
;
41
42
public
:
43
Edge
(
Point
start,
Point
end)
44
{
45
s
= start;
46
e
= end;
47
}
48
49
Point
Start
() {
return
s
; }
50
Point
End
() {
return
e
; }
51
double
Length
() {
return
s
.
Distance
(
e
); }
52
};
53
54
class
Circle
55
{
56
private
:
57
Point
c
;
58
double
r
;
59
60
public
:
61
Circle
(
Point
center,
double
rad)
62
{
63
c
= center;
64
r
= rad;
65
}
66
Point
Center
() {
return
c
; }
67
double
Radius
() {
return
r
; }
68
};
69
70
class
Triangle
71
{
72
private
:
73
Point
P
[3];
74
75
public
:
76
Triangle
(
Point
a,
Point
b,
Point
c)
77
{
78
P
[0] = a;
79
P
[1] = b;
80
P
[2] = c;
81
}
82
83
Triangle
(
Edge
line
,
Point
p)
84
{
85
P
[0] = p;
86
P
[1] =
line
.Start();
87
P
[2] =
line
.End();
88
}
89
90
Point
Vertex
(
int
index) {
return
P
[index]; }
91
Circle
CircumscribedCircle
();
92
Point
Circumcenter
() {
return
CircumscribedCircle
().
Center
(); }
93
};
94
95
class
Graph2DTool
:
public
Tool
96
{
97
public
:
98
Graph2DTool
(std::shared_ptr<MSGTool>
msg
,
double
prec = 1e-5);
99
std::vector<Triangle>
DelaunayTriangulation
(std::vector<Point> p_vec);
100
101
private
:
102
double
PRECISION
;
103
};
104
}
line
std::string line
Definition
CodeGenerator.cxx:12
Tool.h
NAGASH::Circle
Definition
Graph2DTool.h:55
NAGASH::Circle::r
double r
Definition
Graph2DTool.h:58
NAGASH::Circle::Radius
double Radius()
Definition
Graph2DTool.h:67
NAGASH::Circle::c
Point c
Definition
Graph2DTool.h:57
NAGASH::Circle::Circle
Circle(Point center, double rad)
Definition
Graph2DTool.h:61
NAGASH::Circle::Center
Point Center()
Definition
Graph2DTool.h:66
NAGASH::Edge
Definition
Graph2DTool.h:37
NAGASH::Edge::Length
double Length()
Definition
Graph2DTool.h:51
NAGASH::Edge::Edge
Edge(Point start, Point end)
Definition
Graph2DTool.h:43
NAGASH::Edge::e
Point e
Definition
Graph2DTool.h:40
NAGASH::Edge::s
Point s
Definition
Graph2DTool.h:39
NAGASH::Edge::End
Point End()
Definition
Graph2DTool.h:50
NAGASH::Edge::Start
Point Start()
Definition
Graph2DTool.h:49
NAGASH::Graph2DTool
Definition
Graph2DTool.h:96
NAGASH::Graph2DTool::PRECISION
double PRECISION
Definition
Graph2DTool.h:102
NAGASH::Graph2DTool::DelaunayTriangulation
std::vector< Triangle > DelaunayTriangulation(std::vector< Point > p_vec)
Definition
Graph2DTool.cxx:60
NAGASH::Point
Definition
Graph2DTool.h:11
NAGASH::Point::Distance
double Distance(Point a)
Definition
Graph2DTool.h:31
NAGASH::Point::Y
double Y()
Definition
Graph2DTool.h:30
NAGASH::Point::IsInside
bool IsInside(Circle c)
Definition
Graph2DTool.cxx:37
NAGASH::Point::Point
Point(double _x, double _y)
Definition
Graph2DTool.h:17
NAGASH::Point::X
double X()
Definition
Graph2DTool.h:29
NAGASH::Point::Point
Point()
Definition
Graph2DTool.h:23
NAGASH::Point::x
double x
Definition
Graph2DTool.h:13
NAGASH::Point::y
double y
Definition
Graph2DTool.h:14
NAGASH::Tool
Provide interface for all tools in NAGASH.
Definition
Tool.h:72
NAGASH::Tool::msg
std::shared_ptr< MSGTool > msg
Definition
Tool.h:88
NAGASH::Triangle
Definition
Graph2DTool.h:71
NAGASH::Triangle::Triangle
Triangle(Point a, Point b, Point c)
Definition
Graph2DTool.h:76
NAGASH::Triangle::Vertex
Point Vertex(int index)
Definition
Graph2DTool.h:90
NAGASH::Triangle::CircumscribedCircle
Circle CircumscribedCircle()
Definition
Graph2DTool.cxx:8
NAGASH::Triangle::P
Point P[3]
Definition
Graph2DTool.h:73
NAGASH::Triangle::Circumcenter
Point Circumcenter()
Definition
Graph2DTool.h:92
NAGASH::Triangle::Triangle
Triangle(Edge line, Point p)
Definition
Graph2DTool.h:83
NAGASH
Definition
Analysis.h:232
Generated on Mon Sep 2 2024 14:24:32 for NAGASH by
1.9.8