#ifndef __GEOMETRY_H__
#define __GEOMETRY_H__
+#include "structs.h"
#include "vector.h"
-class Circle;
-class Dimension;
-class Line;
-
class Geometry
{
public:
// All methods are class methods for this class
- static Point IntersectionOfLineAndLine(Point, Point, Point, Point);
static double ParameterOfLineAndPoint(Point, Point, Point);
+ static double DistanceToLineFromPoint(Point, Point, Point);
static Point MirrorPointAroundLine(Point, Point, Point);
static Point RotatePointAroundPoint(Point, Point, double);
static double Determinant(Point, Point);
- static int Intersects(Line *, Line *, double * tp = 0, double * up = 0);
- static int Intersects(Line *, Dimension *, double * tp = 0, double * up = 0);
- static int Intersects(Line * l, Circle * c, double * tp = 0, double * up = 0, double * vp = 0, double * wp = 0);
+ static void Intersects(Object *, Object *);
+ static void CheckLineToLineIntersection(Object *, Object *);
+ static void CheckCircleToCircleIntersection(Object *, Object *);
+ static void CheckLineToCircleIntersection(Object *, Object *);
+ static void FindAnglesForSides(double s1, double s2, double s3, double * a1, double * a2, double * a3);
+ static Point GetPointForParameter(Object *, double);
+ static Point Midpoint(Line *);
};
#endif // __GEOMETRY_H__