54 #include <QGraphicsEllipseItem>
55 #include <QGraphicsPathItem>
57 #include <QSharedPointer>
61 #include "../../tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutsplinepath.h"
62 #include "../ifc/ifcdef.h"
63 #include "../vgeometry/vabstractcubicbezierpath.h"
64 #include "../vgeometry/vabstractcurve.h"
65 #include "../vgeometry/vpointf.h"
66 #include "../vgeometry/vsplinepath.h"
67 #include "../vpatterndb/vcontainer.h"
68 #include "../visualization.h"
73 :
VisPath(data, parent), point(nullptr), splPath1(nullptr), splPath2(nullptr), length(0)
75 splPath1 = InitItem<VCurvePathItem>(Qt::darkGreen,
this);
76 splPath1->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
77 splPath2 = InitItem<VCurvePathItem>(Qt::darkRed,
this);
78 splPath2->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
82 point->setFlag(QGraphicsItem::ItemStacksBehindParent,
false);
94 if (not qFuzzyIsNull(
length))
virtual QPainterPath GetPath() const Q_DECL_OVERRIDE
GetPath return QPainterPath which reprezent spline path.
virtual QVector< DirectionArrow > DirectionArrows() const Q_DECL_OVERRIDE
The VContainer class container of all variables.
const QSharedPointer< T > GeometricObject(const quint32 &id) const
The VPointF class keep data of point.
The VSplinePath class keep information about splinePath.
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