X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgeometry.h;h=d657db6d986e5c454d66ec27c4ce921278070e7e;hb=dacd9dc2c1ac093e4945f7befaeb5ff1801a0f52;hp=f1371e32241fa8aa66c5fad70d7336b046c5ff79;hpb=0fcc2d879e1e0ca17eeaceae2159f5143a06586f;p=architektonas diff --git a/src/geometry.h b/src/geometry.h index f1371e3..d657db6 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -9,6 +9,7 @@ class Geometry public: // All methods are class methods for this class 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); @@ -18,7 +19,17 @@ class Geometry 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 *); + static void FindTangents(Object *, Point); + static void FindTangents(Object *, Object *); + static Point NearestTo(Point, Point, Point); + static Vector GetNormalOfPointAndLine(Point, Line *); + static int Orientation(Point, Point, Point); + static Circle FindCircleForThreePoints(Point, Point, Point); + static Arc FindArcForThreePoints(Point, Point, Point); + static double Determinant3x3(double, double, double, double, double, double, double, double, double); + static Arc Unpack(Point, Point, double); + static double Pack(Arc *); }; #endif // __GEOMETRY_H__ -