The tool Detail now supports Cubic Bezier curve.
--HG-- branch : feature
This commit is contained in:
parent
2548697a9e
commit
2d69e1a46f
|
@ -2141,10 +2141,22 @@ void VPattern::ParseNodeSpline(const QDomElement &domElement, const Document &pa
|
|||
quint32 idTool = 0;
|
||||
|
||||
SplinesCommonAttributes(domElement, id, idObject, idTool);
|
||||
const auto obj = data->GetGObject(idObject);
|
||||
if (obj->getType() == GOType::Spline)
|
||||
{
|
||||
VSpline *spl = new VSpline(*data->GeometricObject<VSpline>(idObject));
|
||||
spl->setIdObject(idObject);
|
||||
spl->setMode(Draw::Modeling);
|
||||
data->UpdateGObject(id, spl);
|
||||
}
|
||||
else
|
||||
{
|
||||
VCubicBezier *spl = new VCubicBezier(*data->GeometricObject<VCubicBezier>(idObject));
|
||||
spl->setIdObject(idObject);
|
||||
spl->setMode(Draw::Modeling);
|
||||
data->UpdateGObject(id, spl);
|
||||
}
|
||||
|
||||
VNodeSpline::Create(this, data, id, idObject, parse, Source::FromFile, idTool);
|
||||
}
|
||||
catch (const VExceptionBadId &e)
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "vtooldetail.h"
|
||||
#include "nodeDetails/nodedetails.h"
|
||||
#include "../vgeometry/varc.h"
|
||||
#include "../vgeometry/vcubicbezier.h"
|
||||
#include "../vgeometry/vsplinepath.h"
|
||||
#include "../vwidgets/vmaingraphicsscene.h"
|
||||
#include "../vwidgets/vmaingraphicsview.h"
|
||||
|
@ -177,8 +178,16 @@ void VToolDetail::Create(DialogTool *dialog, VMainGraphicsScene *scene, VAbstrac
|
|||
}
|
||||
break;
|
||||
case (Tool::NodeSpline):
|
||||
{
|
||||
const auto obj = data->GetGObject(nodeD.getId());
|
||||
if (obj->getType() == GOType::Spline)
|
||||
{
|
||||
id = CreateNode<VSpline>(data, nodeD.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
id = CreateNode<VCubicBezier>(data, nodeD.getId());
|
||||
}
|
||||
VNodeSpline::Create(doc, data, id, nodeD.getId(), Document::FullParse, Source::FromGui);
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue
Block a user