/** * @brief SaveDialog save options into file after change in dialog. */ void VToolSpline::SaveDialog(QDomElement &domElement) { SCASSERT(dialog != nullptr); DialogSpline *dialogTool = qobject_cast<DialogSpline*>(dialog); SCASSERT(dialogTool != nullptr); VPointF point1 = *VAbstractTool::data.GeometricObject<const VPointF *>(dialogTool->getP1()); VPointF point4 = *VAbstractTool::data.GeometricObject<const VPointF *>(dialogTool->getP4()); VSpline spl = VSpline (point1, point4, dialogTool->getAngle1(), dialogTool->getAngle2(), dialogTool->getKAsm1(), dialogTool->getKAsm2(), dialogTool->getKCurve()); disconnect(controlPoints[0], &VControlPointSpline::ControlPointChangePosition, this, &VToolSpline::ControlPointChangePosition); disconnect(controlPoints[1], &VControlPointSpline::ControlPointChangePosition, this, &VToolSpline::ControlPointChangePosition); controlPoints[0]->setPos(spl.GetP2()); controlPoints[1]->setPos(spl.GetP3()); connect(controlPoints[0], &VControlPointSpline::ControlPointChangePosition, this, &VToolSpline::ControlPointChangePosition); connect(controlPoints[1], &VControlPointSpline::ControlPointChangePosition, this, &VToolSpline::ControlPointChangePosition); spl = VSpline (point1, controlPoints[0]->pos(), controlPoints[1]->pos(), point4, dialogTool->getKCurve()); doc->SetAttribute(domElement, AttrPoint1, spl.GetP1().id()); doc->SetAttribute(domElement, AttrPoint4, spl.GetP4().id()); doc->SetAttribute(domElement, AttrAngle1, spl.GetAngle1()); doc->SetAttribute(domElement, AttrAngle2, spl.GetAngle2()); doc->SetAttribute(domElement, AttrKAsm1, spl.GetKasm1()); doc->SetAttribute(domElement, AttrKAsm2, spl.GetKasm2()); doc->SetAttribute(domElement, AttrKCurve, spl.GetKcurve()); }
/** * @brief VSpline constructor. * @param spline spline from which the copy. */ VSpline::VSpline ( const VSpline & spline ) :VAbstractCurve(spline), p1(spline.GetP1 ()), p2(spline.GetP2 ()), p3(spline.GetP3 ()), p4(spline.GetP4 ()), angle1(spline.GetAngle1 ()), angle2(spline.GetAngle2 ()), kAsm1(spline.GetKasm1()), kAsm2(spline.GetKasm2()), kCurve(spline.GetKcurve()) {}