X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgeometry.h;h=02cfada77dee1c68b9e658adf335b6a7c9110d45;hb=ff2a28347dc30eccc28e7cd7298cccde7aa49d2c;hp=6ff456410aa22ba01682128cd17a8392707c2a3b;hpb=921bf050ffe5fc81a9ab377e634180e659ee5d5d;p=architektonas diff --git a/src/geometry.h b/src/geometry.h index 6ff4564..02cfada 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -1,16 +1,26 @@ #ifndef __GEOMETRY_H__ #define __GEOMETRY_H__ +#include "structs.h" #include "vector.h" class Geometry { public: // All methods are class methods for this class - static Point IntersectionOfLineAndLine(Point, Point, Point, Point); +//unused 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(Object *, Object *, double * tp = 0, double * up = 0, double * vp = 0, double * wp = 0); + static int CheckLineToLineIntersection(Object *, Object *, double *, double *); +// 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 int Intersects(Circle * c1, Circle * c2, double * tp = 0, double * up = 0, double * vp = 0, double * wp = 0, Point * p1 = 0, Point * p2 = 0); + static void FindAnglesForSides(double s1, double s2, double s3, double * a1, double * a2, double * a3); + static Point GetPointForParameter(Object *, double); }; #endif // __GEOMETRY_H__