-
Notifications
You must be signed in to change notification settings - Fork 0
/
forme.cpp
executable file
·80 lines (73 loc) · 1.3 KB
/
forme.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "forme.h"
///
/// \brief Forme::Forme
///
Forme::Forme()
{
}
///
/// \brief Forme::GetSize
/// \return Nombre de points constituant la forme
///
int Forme::GetSize() const
{
return L.size();
}
///
/// \brief Forme::GetPoint
/// \param i Indice du point
/// \return Retourne le i-ème point(s) de la forme
/// Nécessite que l'indice soit VALIDE.
///
QPointF Forme::GetPoint(int i) const
{
return L.at(i);
}
///
/// \brief Forme::AddPoint Ajoute le point P à la forme
/// \param P QPointF
///
///
void Forme::AddPoint(const QPointF &P)
{
L.append(P);
}
///
/// \brief operator == Teste si les deux formes sont egales
/// \param A Forme 1
/// \param B Forme 2
/// \return
///
bool operator ==(Forme const &A, Forme const &B)
{
if (A.GetSize() != B.GetSize())
return false;
for(int i=0; i<A.GetSize(); ++i)
{
if (A.GetPoint(i)!=B.GetPoint(i))
return false;
}
return true;
}
///
/// \brief Forme::generateExisting Génére une forme par défaut
/// \n n=0 : Segment
/// \n n=1 : Triangle
/// \param n
///
void Forme::generateExisting(quint32 n)
{
if(n==0)
{
//Segment0-1
this->AddPoint(QPointF(0.,0.));
this->AddPoint(QPointF(1.,0.));
}
else if(n==1)
{
//Triangle
this->AddPoint(QPointF(0.,0.));
this->AddPoint(QPointF(1.,0.));
this->AddPoint(QPointF(1./2.,qSqrt(3./4.)));
}
}