52 #ifndef VLAYOUTDETAIL_H
53 #define VLAYOUTDETAIL_H
55 #include <qcompilerdetection.h>
61 #include <QSharedDataPointer>
67 #include "../ifc/xml/vabstractpattern.h"
68 #include "../vpatterndb/floatItemData/vpatternlabeldata.h"
69 #include "../vpatterndb/floatItemData/vpiecelabeldata.h"
70 #include "../vpatterndb/vcontainer.h"
76 class QGraphicsPathItem;
90 #ifdef Q_COMPILER_RVALUE_REFS
103 bool seamAllowanceBuiltIn =
false);
121 const QFont& font,
const VContainer *pattern);
126 const QFont& font,
const VContainer *pattern);
141 void Rotate(
const QPointF &originPoint, qreal degrees);
142 void Mirror(
const QLineF &edge);
166 Q_REQUIRED_RESULT QGraphicsItem *
GetItem(
bool textAsPaths)
const;
169 QSharedDataPointer<VLayoutPieceData>
d;
The VContainer class container of all variables.
The VGrainlineData class holds information about a grainline like position, size, rotation and visibi...
int pieceEdgesCount() const
int EdgeByPoint(const QVector< QPointF > &path, const QPointF &p1) const
void SetPieceText(const QString &qsName, const VPieceLabelData &data, const QFont &font, const VContainer *pattern)
void createGrainlineItem(QGraphicsItem *parent, bool textAsPaths) const
QStringList GetPieceText() const
void SetCountourPoints(const QVector< QPointF > &points, bool hideMainPath=false)
void SetLayoutWidth(const qreal &value)
void Mirror(const QLineF &edge)
QTransform getTransform() const
QPainterPath createMainPath() const
VLayoutPiece & operator=(const VLayoutPiece &detail)
QVector< QPointF > getContourPoints() const
QRectF LayoutBoundingRect() const
void Translate(qreal dx, qreal dy)
QSharedDataPointer< VLayoutPieceData > d
void setInternalPaths(const QVector< VLayoutPiecePath > &internalPaths)
void setGrainline(const VGrainlineData &geom, const VContainer *pattern)
void createLabelItem(QGraphicsItem *parent, const QVector< QPointF > &labelShape, const VTextManager &tm, bool textAsPaths) const
void createInternalPathItem(int i, QGraphicsItem *parent) const
void setNotches(const QVector< QLineF > ¬ches)
Q_REQUIRED_RESULT QGraphicsPathItem * createMainItem() const
int pieceEdgeByPoint(const QPointF &p1) const
QRectF pieceBoundingRect() const
int LayoutEdgesCount() const
virtual ~VLayoutPiece() Q_DECL_OVERRIDE
QVector< QLineF > getNotches() const
QVector< VLayoutPiecePath > getCutoutPaths() const
void SetLayoutAllowancePoints()
QVector< QVector< QPointF > > InternalPathsForCut(bool cut) const
Q_REQUIRED_RESULT QGraphicsPathItem * getMainPathItem() const
QPainterPath createNotchesPath() const
QVector< QPointF > piecePath() const
QLineF pieceEdge(int i) const
QVector< QPointF > getLayoutAllowancePoints() const
void setTransform(const QTransform &transform)
QVector< QPointF > GetSeamAllowancePoints() const
void Swap(VLayoutPiece &detail) Q_DECL_NOTHROW
void createCutoutPathItem(int i, QGraphicsItem *parent) const
QPointF GetPieceTextPosition() const
void setSeamAllowancePoints(const QVector< QPointF > &points, bool seamAllowance=true, bool seamAllowanceBuiltIn=false)
QLineF LayoutEdge(int i) const
void SetMirror(bool value)
int LayoutEdgeByPoint(const QPointF &p1) const
Q_REQUIRED_RESULT QGraphicsItem * GetItem(bool textAsPaths) const
static VLayoutPiece Create(const VPiece &piece, const VContainer *pattern)
void setCutoutPaths(const QVector< VLayoutPiecePath > &cutoutPaths)
QPainterPath createAllowancePath() const
void createNotchesItem(QGraphicsItem *parent) const
QLineF Edge(const QVector< QPointF > &path, int i) const
QVector< T > Map(const QVector< T > &points) const
void SetPatternInfo(VAbstractPattern *pDoc, const VPatternLabelData &geom, const QFont &font, const VContainer *pattern)
QStringList GetPatternText() const
QPainterPath LayoutAllowancePath() const
QVector< VLayoutPiecePath > getInternalPaths() const
qreal GetLayoutWidth() const
void Rotate(const QPointF &originPoint, qreal degrees)
void createAllowanceItem(QGraphicsItem *parent) const
QPointF GetPatternTextPosition() const
QVector< QPointF > getGrainline() const
The VPatternLabelData class holds the information about pattern info label geometry.
The VPieceLabelData class holds some information about a single piece like letter,...
The VTextManager class this class is used to determine whether a collection of text lines can fit int...
Q_DECLARE_TYPEINFO(VLayoutPiece, Q_MOVABLE_TYPE)