]> Shamusworld >> Repos - architektonas/blobdiff - src/geometry.h
Fixed missing edge cases in line to line intersection function.
[architektonas] / src / geometry.h
index d2ec82b0590f408fcdf2f91c0a54d3cddcc181f8..d19d48c8c1735fdd81d2f89494dff85c3abc0a95 100644 (file)
@@ -3,6 +3,10 @@
 
 #include "vector.h"
 
+class Circle;
+class Dimension;
+class Line;
+
 class Geometry
 {
        public:
@@ -10,6 +14,11 @@ 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);
 };
 
 #endif         // __GEOMETRY_H__