X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fgeometry.h;h=41cd472580f30621d546a45d658aaa4a2e8eab6a;hb=0e8f4edf80206248f0ad87a966d69d9ec9da3d2f;hp=89360884d1bdc0f1259c0db2e3b59499fb8864ae;hpb=fd5a80446b2abfdfb9d8951fcc03fb1b55ad707c;p=architektonas diff --git a/src/geometry.h b/src/geometry.h index 8936088..41cd472 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -1,22 +1,24 @@ #ifndef __GEOMETRY_H__ #define __GEOMETRY_H__ +#include "structs.h" #include "vector.h" -class Line; -class Circle; - 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 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 * 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__