54 #include <QGraphicsEllipseItem>
55 #include <QGraphicsPathItem>
56 #include <QPainterPath>
58 #include <QSharedPointer>
62 #include "../ifc/ifcdef.h"
63 #include "../vgeometry/vabstractcurve.h"
64 #include "../vgeometry/varc.h"
65 #include "../vpatterndb/vcontainer.h"
66 #include "../visualization.h"
68 #include "../vwidgets/scalesceneitems.h"
72 :
VisPath(data, parent), point(nullptr), arc1(nullptr), arc2(nullptr), length(0)
74 arc1 = InitItem<VCurvePathItem>(Qt::darkGreen,
this);
75 arc1->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
76 arc2 = InitItem<VCurvePathItem>(Qt::darkRed,
this);
77 arc2->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
81 point->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
92 if (not qFuzzyIsNull(
length))
96 QPointF p = arc->CutArc(
length, ar1, ar2);
virtual QVector< DirectionArrow > DirectionArrows() const
virtual QPainterPath GetPath() const
VArc class for anticlockwise arc.
The VContainer class container of all variables.
const QSharedPointer< T > GeometricObject(const quint32 &id) const
void DrawPoint(QGraphicsEllipseItem *point, const QPointF &pos, const QColor &color, Qt::PenStyle style=Qt::SolidLine)
static qreal FindLength(const QString &expression, const QHash< QString, QSharedPointer< VInternalVariable > > *vars)
void DrawPath(VCurvePathItem *pathItem, const QPainterPath &path, const QColor &color, Qt::PenStyle style=Qt::SolidLine, const qreal &weight=0.35, Qt::PenCapStyle cap=Qt::SquareCap)
VScaledEllipse * InitPoint(const QColor &color, QGraphicsItem *parent, qreal z=0) const