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;
|
quint32 idTool = 0;
|
||||||
|
|
||||||
SplinesCommonAttributes(domElement, id, idObject, idTool);
|
SplinesCommonAttributes(domElement, id, idObject, idTool);
|
||||||
VSpline *spl = new VSpline(*data->GeometricObject<VSpline>(idObject));
|
const auto obj = data->GetGObject(idObject);
|
||||||
spl->setIdObject(idObject);
|
if (obj->getType() == GOType::Spline)
|
||||||
spl->setMode(Draw::Modeling);
|
{
|
||||||
data->UpdateGObject(id, spl);
|
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);
|
VNodeSpline::Create(this, data, id, idObject, parse, Source::FromFile, idTool);
|
||||||
}
|
}
|
||||||
catch (const VExceptionBadId &e)
|
catch (const VExceptionBadId &e)
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include "vtooldetail.h"
|
#include "vtooldetail.h"
|
||||||
#include "nodeDetails/nodedetails.h"
|
#include "nodeDetails/nodedetails.h"
|
||||||
#include "../vgeometry/varc.h"
|
#include "../vgeometry/varc.h"
|
||||||
|
#include "../vgeometry/vcubicbezier.h"
|
||||||
#include "../vgeometry/vsplinepath.h"
|
#include "../vgeometry/vsplinepath.h"
|
||||||
#include "../vwidgets/vmaingraphicsscene.h"
|
#include "../vwidgets/vmaingraphicsscene.h"
|
||||||
#include "../vwidgets/vmaingraphicsview.h"
|
#include "../vwidgets/vmaingraphicsview.h"
|
||||||
|
@ -178,7 +179,15 @@ void VToolDetail::Create(DialogTool *dialog, VMainGraphicsScene *scene, VAbstrac
|
||||||
break;
|
break;
|
||||||
case (Tool::NodeSpline):
|
case (Tool::NodeSpline):
|
||||||
{
|
{
|
||||||
id = CreateNode<VSpline>(data, nodeD.getId());
|
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);
|
VNodeSpline::Create(doc, data, id, nodeD.getId(), Document::FullParse, Source::FromGui);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user