Commit 38ec24c5 authored by Valentin Platzgummer's avatar Valentin Platzgummer

before changeing planiCalc form class to ordinary header file

parent fc767dbb
......@@ -12,18 +12,16 @@ Circle::Circle(QObject *parent)
Circle::Circle(double radius, QObject *parent)
: QObject (parent)
, _circleRadius(radius)
, _circleRadius(radius >= 0 ? radius : 0)
, _circleOrigin(QPointF(0,0))
{
}
Circle::Circle(double radius, QPointF origin, QObject *parent)
: QObject (parent)
, _circleRadius(radius)
, _circleRadius(radius >= 0 ? radius : 0)
, _circleOrigin(origin)
{
}
Circle::Circle(const Circle &other, QObject *parent)
......@@ -95,7 +93,7 @@ QPointF Circle::origin() const
*
* \sa QPointF
*/
QPolygonF Circle::approximate(int numberOfCorners)
QPolygonF Circle::approximate(int numberOfCorners) const
{
if ( numberOfCorners < 3)
return QPolygonF();
......@@ -114,6 +112,11 @@ QPolygonF Circle::approximate(int numberOfCorners)
return polygon;
}
bool Circle::isNull() const
{
return _circleRadius <= 0 ? true : false;
}
/*!
* \class Circle
* \brief Provies a circle with radius and origin.
......
......@@ -25,7 +25,8 @@ public:
QPointF origin() const;
// Member methodes
QPolygonF approximate(int numberOfCorners);
QPolygonF approximate(int numberOfCorners) const;
bool isNull() const;
signals:
void radiusChanged(double radius);
......
This diff is collapsed.
......@@ -11,16 +11,28 @@ class PlanimetryCalculus
public:
PlanimetryCalculus();
enum IntersectType{CircleInsideNoIntersection, CircleInsideTouching, CircleInsideIntersection,
CircleOutsideIntersection, CircleOutsideTouching, CircleOutsideNoIntersection, //Circle Circle intersection
enum IntersectType{InsideNoIntersection, InsideTouching, InsideIntersection,
OutsideIntersection, OutsideTouching, OutsideNoIntersection,
CirclesEqual, //Circle Circle intersection
NoIntersection, Tangent, Secant // Circle Line Intersetion
NoIntersection, Tangent, Secant, // Circle Line Intersetion
Error // general
};
void rotatePoint(QPointF &point, double alpha);
void rotatePoint(QList<QPointF> &point, double alpha);
void rotatePointDegree(QPointF &point, double alpha);
void rotatePointDegree(QList<QPointF> &points, double alpha);
IntersectType intersects(const Circle &circle1, const Circle &circle2);
IntersectType intersects(const Circle &circle1, const Circle &circle2, QList<QPointF> &intersectionPoints);
IntersectType intersects(const Circle &circle, const QLineF &line);
IntersectType intersects(const Circle &circle, const QLineF &line, QList<QPointF> &intersectionPoints);
double distance(const QPointF &p1, const QPointF p2);
double angle(const QPointF &p1, const QPointF p2);
double angleDegree(const QPointF &p1, const QPointF p2);
private:
IntersectType intersects(const Circle &circle, const QLineF &line, QList<QPointF> &intersectionPoints, bool calcIntersect);
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment