Tue, 03 Apr 2018 17:37:33 +0300
refactor
| 1326 | 1 | /* |
| 2 | * LDForge: LDraw parts authoring CAD | |
| 3 | * Copyright (C) 2013 - 2018 Teemu Piippo | |
| 4 | * | |
| 5 | * This program is free software: you can redistribute it and/or modify | |
| 6 | * it under the terms of the GNU General Public License as published by | |
| 7 | * the Free Software Foundation, either version 3 of the License, or | |
| 8 | * (at your option) any later version. | |
| 9 | * | |
| 10 | * This program is distributed in the hope that it will be useful, | |
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 13 | * GNU General Public License for more details. | |
| 14 | * | |
| 15 | * You should have received a copy of the GNU General Public License | |
| 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| 17 | */ | |
|
1328
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
18 | |
| 1319 | 19 | #pragma once |
| 20 | #include "../main.h" | |
| 21 | ||
|
1328
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
22 | enum RotationPoint |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
23 | { |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
24 | ObjectOrigin, |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
25 | WorldOrigin, |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
26 | CustomPoint, |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
27 | }; |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
28 | |
|
1325
f9abfc7ba676
Use 4 points of precision for circle point coordinates
Teemu Piippo <teemu@hecknology.net>
parents:
1319
diff
changeset
|
29 | double ldrawsin(double angle); |
|
f9abfc7ba676
Use 4 points of precision for circle point coordinates
Teemu Piippo <teemu@hecknology.net>
parents:
1319
diff
changeset
|
30 | double ldrawcos(double angle); |
|
f9abfc7ba676
Use 4 points of precision for circle point coordinates
Teemu Piippo <teemu@hecknology.net>
parents:
1319
diff
changeset
|
31 | QPointF pointOnLDrawCircumference(int segment, int divisions); |
| 1319 | 32 | QVector<QLineF> makeCircle(int segments, int divisions, double radius); |
| 33 | qreal distanceFromPointToRectangle(const QPointF& point, const QRectF& rectangle); | |
|
1328
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
34 | void rotateObjects(int l, int m, int n, double angle, const QVector<LDObject*>& objects); |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
35 | Vertex getRotationPoint(const QVector<LDObject*>& objs); |
|
d68d1ce89d05
merged mathfunctions.cpp into algorithms/geometry.cpp
Teemu Piippo <teemu@hecknology.net>
parents:
1326
diff
changeset
|
36 | void rotateVertex(Vertex& vertex, const Vertex& rotationPoint, const Matrix& transformationMatrix); |