X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgeometry.h;h=410c7e05e501435098045ce154638876a3ee4316;hb=84afe881653a02a16b19d4da37435b8701b1a826;hp=d2ec82b0590f408fcdf2f91c0a54d3cddcc181f8;hpb=4b37ccbdf263a4798e53a62e33d869a728ace283;p=architektonas diff --git a/src/geometry.h b/src/geometry.h index d2ec82b..410c7e0 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -3,6 +3,10 @@ #include "vector.h" +class Circle; +class Dimension; +class Line; + class Geometry { public: @@ -10,6 +14,13 @@ class Geometry 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 *, 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); }; #endif // __GEOMETRY_H__