X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgeometry.h;h=bc532da4a9a3e0e206a06144ba9b01dff22ab1bd;hb=60565e2216e2d6d8d3634d0614823a117770e47f;hp=d2ec82b0590f408fcdf2f91c0a54d3cddcc181f8;hpb=4b37ccbdf263a4798e53a62e33d869a728ace283;p=architektonas diff --git a/src/geometry.h b/src/geometry.h index d2ec82b..bc532da 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -1,15 +1,25 @@ #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); 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 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__