Path should also supports elliptical arc.

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2017-02-10 16:47:15 +02:00
parent ddd2e3054f
commit 6fd45d9e2c
6 changed files with 16 additions and 0 deletions

View File

@ -156,6 +156,7 @@ QVector<QPointF> VPiece::SeamAllowancePoints(const VContainer *data) const
} }
break; break;
case (Tool::NodeArc): case (Tool::NodeArc):
case (Tool::NodeElArc):
case (Tool::NodeSpline): case (Tool::NodeSpline):
case (Tool::NodeSplinePath): case (Tool::NodeSplinePath):
{ {

View File

@ -252,6 +252,7 @@ QVector<QPointF> VPiecePath::PathPoints(const VContainer *data) const
} }
break; break;
case (Tool::NodeArc): case (Tool::NodeArc):
case (Tool::NodeElArc):
case (Tool::NodeSpline): case (Tool::NodeSpline):
case (Tool::NodeSplinePath): case (Tool::NodeSplinePath):
{ {
@ -287,6 +288,7 @@ QVector<VPointF> VPiecePath::PathNodePoints(const VContainer *data) const
} }
break; break;
case Tool::NodeArc: case Tool::NodeArc:
case Tool::NodeElArc:
case Tool::NodeSpline: case Tool::NodeSpline:
case Tool::NodeSplinePath: case Tool::NodeSplinePath:
default: default:
@ -314,6 +316,7 @@ QVector<VSAPoint> VPiecePath::SeamAllowancePoints(const VContainer *data, qreal
} }
break; break;
case (Tool::NodeArc): case (Tool::NodeArc):
case (Tool::NodeElArc):
case (Tool::NodeSpline): case (Tool::NodeSpline):
case (Tool::NodeSplinePath): case (Tool::NodeSplinePath):
{ {
@ -674,6 +677,7 @@ QPointF VPiecePath::NodePreviousPoint(const VContainer *data, int i) const
case (Tool::NodePoint): case (Tool::NodePoint):
return *data->GeometricObject<VPointF>(node.GetId()); return *data->GeometricObject<VPointF>(node.GetId());
case (Tool::NodeArc): case (Tool::NodeArc):
case (Tool::NodeElArc):
case (Tool::NodeSpline): case (Tool::NodeSpline):
case (Tool::NodeSplinePath): case (Tool::NodeSplinePath):
{ {
@ -725,6 +729,7 @@ QPointF VPiecePath::NodeNextPoint(const VContainer *data, int i) const
case (Tool::NodePoint): case (Tool::NodePoint):
return *data->GeometricObject<VPointF>(node.GetId()); return *data->GeometricObject<VPointF>(node.GetId());
case (Tool::NodeArc): case (Tool::NodeArc):
case (Tool::NodeElArc):
case (Tool::NodeSpline): case (Tool::NodeSpline):
case (Tool::NodeSplinePath): case (Tool::NodeSplinePath):
{ {

View File

@ -96,6 +96,9 @@ void DialogPiecePath::ChosenObject(quint32 id, const SceneObject &type)
case SceneObject::Arc: case SceneObject::Arc:
NewItem(VPieceNode(id, Tool::NodeArc, reverse)); NewItem(VPieceNode(id, Tool::NodeArc, reverse));
break; break;
case SceneObject::ElArc:
NewItem(VPieceNode(id, Tool::NodeElArc, reverse));
break;
case SceneObject::Point: case SceneObject::Point:
NewItem(VPieceNode(id, Tool::NodePoint)); NewItem(VPieceNode(id, Tool::NodePoint));
break; break;

View File

@ -208,6 +208,9 @@ void DialogSeamAllowance::ChosenObject(quint32 id, const SceneObject &type)
case SceneObject::Arc: case SceneObject::Arc:
NewMainPathItem(VPieceNode(id, Tool::NodeArc, reverse)); NewMainPathItem(VPieceNode(id, Tool::NodeArc, reverse));
break; break;
case SceneObject::ElArc:
NewMainPathItem(VPieceNode(id, Tool::NodeElArc, reverse));
break;
case SceneObject::Point: case SceneObject::Point:
NewMainPathItem(VPieceNode(id, Tool::NodePoint)); NewMainPathItem(VPieceNode(id, Tool::NodePoint));
break; break;

View File

@ -470,6 +470,7 @@ void DialogTool::NewNodeItem(QListWidget *listWidget, const VPieceNode &node)
{ {
case (Tool::NodePoint): case (Tool::NodePoint):
case (Tool::NodeArc): case (Tool::NodeArc):
case (Tool::NodeElArc):
case (Tool::NodeSpline): case (Tool::NodeSpline):
case (Tool::NodeSplinePath): case (Tool::NodeSplinePath):
{ {

View File

@ -647,6 +647,9 @@ QDomElement VAbstractTool::AddSANode(VAbstractPattern *doc, const QString &tagNa
case (Tool::NodeArc): case (Tool::NodeArc):
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeArc); doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeArc);
break; break;
case (Tool::NodeElArc):
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodeElArc);
break;
case (Tool::NodePoint): case (Tool::NodePoint):
doc->SetAttribute(nod, AttrType, VAbstractPattern::NodePoint); doc->SetAttribute(nod, AttrType, VAbstractPattern::NodePoint);
break; break;