Improve flipping control. Fix bug with export in DXF AAMA. ref #783.
--HG-- branch : develop
This commit is contained in:
parent
f26087350d
commit
be8207d46b
|
@ -93,27 +93,6 @@ void RemoveLayoutPath(const QString &path, bool usedNotExistedDir)
|
||||||
dir.rmpath(".");
|
dir.rmpath(".");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
Q_REQUIRED_RESULT QGraphicsItem *ExportOriginalDetail(VLayoutPiece piece, bool textAsPaths)
|
|
||||||
{
|
|
||||||
if (piece.IsForceFlipping())
|
|
||||||
{
|
|
||||||
piece.Mirror();
|
|
||||||
}
|
|
||||||
|
|
||||||
QGraphicsItem *item = piece.GetItem(textAsPaths);
|
|
||||||
|
|
||||||
if (piece.IsForceFlipping())
|
|
||||||
{
|
|
||||||
item->setPos(piece.GetMx()-item->boundingRect().width(), piece.GetMy());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
item->setPos(piece.GetMx(), piece.GetMy());
|
|
||||||
}
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -395,7 +374,23 @@ void MainWindowsNoGUI::ExportDetailsAsFlatLayout(const QVector<VLayoutPiece> &li
|
||||||
QList<QGraphicsItem *> list;
|
QList<QGraphicsItem *> list;
|
||||||
for (int i=0; i < listDetails.count(); ++i)
|
for (int i=0; i < listDetails.count(); ++i)
|
||||||
{
|
{
|
||||||
list.append(ExportOriginalDetail(listDetails.at(i), m_dialogSaveLayout->IsTextAsPaths()));
|
VLayoutPiece piece = listDetails.at(i);
|
||||||
|
if (piece.IsForceFlipping())
|
||||||
|
{
|
||||||
|
piece.Mirror();
|
||||||
|
}
|
||||||
|
|
||||||
|
QGraphicsItem *item = piece.GetItem(m_dialogSaveLayout->IsTextAsPaths());
|
||||||
|
|
||||||
|
if (piece.IsForceFlipping())
|
||||||
|
{
|
||||||
|
item->setPos(piece.GetMx()-item->boundingRect().width(), piece.GetMy());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->setPos(piece.GetMx(), piece.GetMy());
|
||||||
|
}
|
||||||
|
list.append(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < list.size(); ++i)
|
for (int i=0; i < list.size(); ++i)
|
||||||
|
@ -513,7 +508,27 @@ void MainWindowsNoGUI::ExportDetailsAsApparelLayout(QVector<VLayoutPiece> listDe
|
||||||
QList<QGraphicsItem *> list;
|
QList<QGraphicsItem *> list;
|
||||||
for (int i=0; i < listDetails.count(); ++i)
|
for (int i=0; i < listDetails.count(); ++i)
|
||||||
{
|
{
|
||||||
list.append(ExportOriginalDetail(listDetails.at(i), m_dialogSaveLayout->IsTextAsPaths()));
|
VLayoutPiece piece = listDetails.at(i);
|
||||||
|
if (piece.IsForceFlipping())
|
||||||
|
{
|
||||||
|
piece.Mirror();
|
||||||
|
}
|
||||||
|
|
||||||
|
QGraphicsItem *item = piece.GetItem(m_dialogSaveLayout->IsTextAsPaths());
|
||||||
|
|
||||||
|
QTransform moveMatrix = piece.GetMatrix();
|
||||||
|
if (piece.IsForceFlipping())
|
||||||
|
{
|
||||||
|
item->setPos(piece.GetMx()-item->boundingRect().width(), piece.GetMy());
|
||||||
|
moveMatrix = moveMatrix.translate(-piece.GetMx()+item->boundingRect().width(), piece.GetMy());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->setPos(piece.GetMx(), piece.GetMy());
|
||||||
|
moveMatrix = moveMatrix.translate(piece.GetMx(), piece.GetMy());
|
||||||
|
}
|
||||||
|
listDetails[i].SetMatrix(moveMatrix);
|
||||||
|
list.append(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i < list.size(); ++i)
|
for (int i=0; i < list.size(); ++i)
|
||||||
|
@ -538,8 +553,7 @@ void MainWindowsNoGUI::ExportDetailsAsApparelLayout(QVector<VLayoutPiece> listDe
|
||||||
|
|
||||||
for (int i=0; i < listDetails.count(); ++i)
|
for (int i=0; i < listDetails.count(); ++i)
|
||||||
{
|
{
|
||||||
QTransform moveMatrix = listDetails[i].GetMatrix();
|
QTransform moveMatrix = listDetails.at(i).GetMatrix();
|
||||||
moveMatrix = moveMatrix.translate(listDetails.at(i).GetMx(), listDetails.at(i).GetMy());
|
|
||||||
moveMatrix = moveMatrix.translate(-mx, -my);
|
moveMatrix = moveMatrix.translate(-mx, -my);
|
||||||
listDetails[i].SetMatrix(moveMatrix);
|
listDetails[i].SetMatrix(moveMatrix);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user