void RS_ActionDrawSpline::mouseMoveEvent(QMouseEvent* e) { RS_DEBUG->print("RS_ActionDrawSpline::mouseMoveEvent begin"); RS_Vector mouse = snapPoint(e); if (getStatus()==SetNextPoint && spline!=NULL /*&& point.valid*/) { deletePreview(); RS_Spline* tmpSpline = (RS_Spline*)spline->clone(); tmpSpline->addControlPoint(mouse); tmpSpline->update(); preview->addEntity(tmpSpline); QList<RS_Vector> cpts = tmpSpline->getControlPoints(); for (int i = 0; i < cpts.size(); ++i) { preview->addEntity(new RS_Point(preview, RS_PointData(cpts.at(i)))); } drawPreview(); } RS_DEBUG->print("RS_ActionDrawSpline::mouseMoveEvent end"); }
void RS_ActionDrawSpline::mouseMoveEvent(QMouseEvent* e) { RS_DEBUG->print("RS_ActionDrawSpline::mouseMoveEvent begin"); RS_Vector mouse = snapPoint(e); if (getStatus()==SetNextPoint && spline /*&& point.valid*/) { deletePreview(); RS_Spline* tmpSpline = static_cast<RS_Spline*>(spline->clone()); tmpSpline->addControlPoint(mouse); tmpSpline->update(); preview->addEntity(tmpSpline); QList<RS_Vector>&& cpts = tmpSpline->getControlPoints(); for (const RS_Vector& vp: cpts) { preview->addEntity(new RS_Point(preview.get(), RS_PointData(vp))); } drawPreview(); } RS_DEBUG->print("RS_ActionDrawSpline::mouseMoveEvent end"); }