57 #include <QSharedDataPointer>
59 #include "../vmisc/def.h"
60 #include "../vgeometry/vabstractcurve.h"
80 #ifdef Q_COMPILER_RVALUE_REFS
99 void SetName(
const QString &name);
118 bool OnEdge(quint32 p1, quint32 p2)
const;
119 int Edge(quint32 p1, quint32 p2)
const;
143 int i,
bool reverse, qreal width);
146 QSharedDataPointer<VPiecePathData>
d;
The VContainer class container of all variables.
QVector< QPointF > PathPoints(const VContainer *data) const
PiecePathType GetType() const
bool Contains(quint32 id) const
void SetType(PiecePathType type)
QVector< VSAPoint > SeamAllowancePoints(const VContainer *data, qreal width, bool reverse) const
qint32 CountNodes() const
void NodeOnEdge(quint32 index, VPieceNode &p1, VPieceNode &p2) const
NodeOnEdge return nodes located on edge with index.
QSharedDataPointer< VPiecePathData > d
VPiecePath & operator=(const VPiecePath &path)
void SetCutPath(bool cut)
static QVector< VSAPoint > CurveSeamAllowanceSegment(const VContainer *data, const QVector< VPieceNode > &nodes, const QSharedPointer< VAbstractCurve > &curve, int i, bool reverse, qreal width)
void Append(const VPieceNode &node)
void Swap(VPiecePath &path) Q_DECL_NOTHROW
static int FindInLoopNotExcludedUp(int start, const QVector< VPieceNode > &nodes)
int Edge(quint32 p1, quint32 p2) const
Edge return edge index in detail. Edge is line between two points. If between two points located arcs...
VPieceNode & operator[](int indx)
QVector< VPointF > PathNodePoints(const VContainer *data, bool showExcluded=true) const
QVector< VPieceNode > GetNodes() const
VPiecePath RemoveEdge(quint32 index) const
RemoveEdge return path without edge with index.
QVector< quint32 > MissingNodes(const VPiecePath &path) const
void SetNodes(const QVector< VPieceNode > &nodes)
void SetPenType(const Qt::PenStyle &type)
void SetName(const QString &name)
QPointF NodePreviousPoint(const VContainer *data, int i) const
bool OnEdge(quint32 p1, quint32 p2) const
OnEdge checks if two poins located on the edge. Edge is line between two points. If between two point...
QPointF NodeNextPoint(const VContainer *data, int i) const
Qt::PenStyle GetPenType() const
const VPieceNode & at(int indx) const
static VSAPoint PreparePointEkv(const VPieceNode &node, const VContainer *data)
static int FindInLoopNotExcludedDown(int start, const QVector< VPieceNode > &nodes)
QVector< VPieceNode > ListNodePoint() const
listNodePoint return list nodes only with points.
VSAPoint StartSegment(const VContainer *data, int i, bool reverse) const
int indexOfNode(quint32 id) const
VSAPoint EndSegment(const VContainer *data, int i, bool reverse) const
QPainterPath PainterPath(const VContainer *data) const
The VPointF class keep data of point.
The VSAPoint class seam allowance point.
Q_DECLARE_TYPEINFO(VPiecePath, Q_MOVABLE_TYPE)