Skip to content
PlanimetryCalculus.h 830 B
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
#pragma once

#include <QLineF>
#include <QPointF>
#include <QtMath>
#include <QLineF>

#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);
};