#pragma once #include #include #include #include #include "Circle.h" class PlanimetryCalculus { public: PlanimetryCalculus(); enum IntersectType{CircleInsideNoIntersection, CircleInsideTouching, CircleInsideIntersection, CircleOutsideIntersection, CircleOutsideTouching, CircleOutsideNoIntersection, //Circle Circle intersection NoIntersection, Tangent, Secant // Circle Line Intersetion }; void rotatePoint(QPointF &point, double alpha); void rotatePointDegree(QPointF &point, double alpha); IntersectType intersects(const Circle &circle1, const Circle &circle2); IntersectType intersects(const Circle &circle, const QLineF &line); double distance(const QPointF &p1, const QPointF p2); };