/** * @brief VToolUnionDetails costructor. * @param doc dom document container. * @param data dom document container. * @param id object id in container. * @param d1 first detail. * @param d2 second detail. * @param indexD1 index edge in first detail. * @param indexD2 index edge in second detail. * @param typeCreation way we create this tool. * @param parent parent object. */ VToolUnionDetails::VToolUnionDetails(VPattern *doc, VContainer *data, const quint32 &id, const VDetail &d1, const VDetail &d2, const quint32 &indexD1, const quint32 &indexD2, const Source &typeCreation, QObject *parent) :VAbstractTool(doc, data, id, parent), d1(d1), d2(d2), indexD1(indexD1), indexD2(indexD2) { if (typeCreation == Source::FromGui) { AddToFile(); } else { RefreshDataInFile(); } }
/** * @brief VToolShoulderPoint constructor. * @param doc dom document container. * @param data container with variables. * @param id object id in container. * @param typeLine line type. * @param formula string with formula length. * @param p1Line id first line point. * @param p2Line id second line point. * @param pShoulder id shoulder point. * @param typeCreation way we create this tool. * @param parent parent object. */ VToolShoulderPoint::VToolShoulderPoint(VPattern *doc, VContainer *data, const quint32 &id, const QString &typeLine, const QString &formula, const quint32 &p1Line, const quint32 &p2Line, const quint32 &pShoulder, const Source &typeCreation, QGraphicsItem * parent) :VToolLinePoint(doc, data, id, typeLine, formula, p1Line, 0, parent), p2Line(p2Line), pShoulder(pShoulder) { if (typeCreation == Source::FromGui) { AddToFile(); } else { RefreshDataInFile(); } }
/** * @brief VToolAlongLine constuctor. * @param doc dom document container. * @param data container with variables. * @param id object id in container. * @param formula string with length formula. * @param firstPointId id first point of line. * @param secondPointId id second point of line. * @param typeLine line type. line type. * @param typeCreation way we create this tool. * @param parent parent object. */ VToolAlongLine::VToolAlongLine(VPattern *doc, VContainer *data, quint32 id, const QString &formula, const quint32 &firstPointId, const quint32 &secondPointId, const QString &typeLine, const Source &typeCreation, QGraphicsItem *parent) :VToolLinePoint(doc, data, id, typeLine, formula, firstPointId, 0, parent), secondPointId(secondPointId) { if (typeCreation == Source::FromGui) { AddToFile(); } else { RefreshDataInFile(); } }
/** * @brief VToolBisector constructor. * @param doc dom document container. * @param data container with variables. * @param id object id in container. * @param typeLine line type. * @param formula string with formula length of bisector. * @param firstPointId id first point of angle. * @param secondPointId id second point of angle. * @param thirdPointId id third point of angle. * @param typeCreation way we create this tool. * @param parent parent object. */ VToolBisector::VToolBisector(VPattern *doc, VContainer *data, const quint32 &id, const QString &typeLine, const QString &formula, const quint32 &firstPointId, const quint32 &secondPointId, const quint32 &thirdPointId, const Source &typeCreation, QGraphicsItem *parent) :VToolLinePoint(doc, data, id, typeLine, formula, secondPointId, 0, parent), firstPointId(0), thirdPointId(0) { this->firstPointId = firstPointId; this->thirdPointId = thirdPointId; if (typeCreation == Source::FromGui) { AddToFile(); } else { RefreshDataInFile(); } }
/** * @brief VToolCutSpline constructor. * @param doc dom document container. * @param data container with variables. * @param id object id in container. * @param formula string with formula length first spline. * @param splineId id spline in data container. * @param typeCreation way we create this tool. * @param parent parent object. */ VToolCutSpline::VToolCutSpline(VPattern *doc, VContainer *data, const quint32 &id, const QString &formula, const quint32 &splineId, const quint32 &spl1id, const quint32 &spl2id, const Source &typeCreation, QGraphicsItem *parent) :VToolCut(doc, data, id, formula, splineId, spl1id, spl2id, parent) { RefreshCurve(firstCurve, curve1id, SimpleCurvePoint::ForthPoint); RefreshCurve(secondCurve, curve2id, SimpleCurvePoint::FirstPoint); if (typeCreation == Source::FromGui) { AddToFile(); } else { RefreshDataInFile(); } }
/** * @brief VToolSpline constructor. * @param doc dom document container. * @param data container with variables. * @param id object id in container. * @param typeCreation way we create this tool. * @param parent parent object. */ VToolSpline::VToolSpline(VPattern *doc, VContainer *data, quint32 id, const Source &typeCreation, QGraphicsItem *parent) :VAbstractSpline(doc, data, id, parent) { const VSpline *spl = data->GeometricObject<const VSpline *>(id); QPainterPath path; path.addPath(spl->GetPath()); path.setFillRule( Qt::WindingFill ); this->setPath(path); this->setPen(QPen(Qt::black, qApp->toPixel(qApp->widthHairLine())/factor)); this->setFlag(QGraphicsItem::ItemIsSelectable, true); this->setFlag(QGraphicsItem::ItemIsFocusable, true); this->setAcceptHoverEvents(true); VControlPointSpline *controlPoint1 = new VControlPointSpline(1, SplinePointPosition::FirstPoint, spl->GetP2(), spl->GetP1().toQPointF(), this); connect(controlPoint1, &VControlPointSpline::ControlPointChangePosition, this, &VToolSpline::ControlPointChangePosition); connect(this, &VToolSpline::RefreshLine, controlPoint1, &VControlPointSpline::RefreshLine); connect(this, &VToolSpline::setEnabledPoint, controlPoint1, &VControlPointSpline::setEnabledPoint); controlPoints.append(controlPoint1); VControlPointSpline *controlPoint2 = new VControlPointSpline(1, SplinePointPosition::LastPoint, spl->GetP3(), spl->GetP4().toQPointF(), this); connect(controlPoint2, &VControlPointSpline::ControlPointChangePosition, this, &VToolSpline::ControlPointChangePosition); connect(this, &VToolSpline::RefreshLine, controlPoint2, &VControlPointSpline::RefreshLine); connect(this, &VToolSpline::setEnabledPoint, controlPoint2, &VControlPointSpline::setEnabledPoint); controlPoints.append(controlPoint2); if (typeCreation == Source::FromGui) { AddToFile(); } else { RefreshDataInFile(); } }