]> Shamusworld >> Repos - architektonas/blob - src/geometry.h
1c4177b10e68120655b66ae9bc2ee48dcc068261
[architektonas] / src / geometry.h
1 #ifndef __GEOMETRY_H__
2 #define __GEOMETRY_H__
3
4 #include "structs.h"
5 #include "vector.h"
6
7 class Geometry
8 {
9         public:
10                 // All methods are class methods for this class
11 //unused                static Point IntersectionOfLineAndLine(Point, Point, Point, Point);
12                 static double ParameterOfLineAndPoint(Point, Point, Point);
13                 static Point MirrorPointAroundLine(Point, Point, Point);
14                 static Point RotatePointAroundPoint(Point, Point, double);
15                 static double Determinant(Point, Point);
16                 static void Intersects(Object *, Object *);//, double * tp = 0, double * up = 0, double * vp = 0, double * wp = 0);
17                 static void CheckLineToLineIntersection(Object *, Object *);
18                 static void CheckCircleToCircleIntersection(Object *, Object *);//, Point *, Point *);
19 //              static int Intersects(Line *, Line *, double * tp = 0, double * up = 0);
20 //              static int Intersects(Line *, Dimension *, double * tp = 0, double * up = 0);
21 //              static int Intersects(Line * l, Circle * c, double * tp = 0, double * up = 0, double * vp = 0, double * wp = 0);
22 //              static int Intersects(Circle * c1, Circle * c2, double * tp = 0, double * up = 0, double * vp = 0, double * wp = 0, Point * p1 = 0, Point * p2 = 0);
23                 static void FindAnglesForSides(double s1, double s2, double s3, double * a1, double * a2, double * a3);
24                 static Point GetPointForParameter(Object *, double);
25 };
26
27 #endif  // __GEOMETRY_H__
28