Resolved issue #441. Broken reference incrementation for tool "True Dart point".
(grafted from 0c13c14f9829e53dbbbe850053947b646bd800bd) --HG-- branch : develop
This commit is contained in:
parent
5ec4f51601
commit
78799d3d83
|
@ -6,6 +6,7 @@
|
||||||
- [#325] Check pattern for inverse compatibility.
|
- [#325] Check pattern for inverse compatibility.
|
||||||
|
|
||||||
# Version 0.4.2
|
# Version 0.4.2
|
||||||
|
- [#441] Broken reference incrementation for tool "True Dart point".
|
||||||
- [#439] Widen Formula Dialog.
|
- [#439] Widen Formula Dialog.
|
||||||
- Fixed broken tool dialogs "Intersection arcs" and "Point from arc and tangent".
|
- Fixed broken tool dialogs "Intersection arcs" and "Point from arc and tangent".
|
||||||
- [#442] 'Broken Formula' error when using Intersect Circles tool.
|
- [#442] 'Broken Formula' error when using Intersect Circles tool.
|
||||||
|
|
|
@ -1908,7 +1908,7 @@ void VPattern::ParseToolSplinePath(VMainGraphicsScene *scene, const QDomElement
|
||||||
path->append(splPoint);
|
path->append(splPoint);
|
||||||
if (parse == Document::FullParse)
|
if (parse == Document::FullParse)
|
||||||
{
|
{
|
||||||
IncrementReferens(pSpline);
|
IncrementReferens(p.getIdTool());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,6 +180,26 @@ void VGObject::setId(const quint32 &id)
|
||||||
d->_id = id;
|
d->_id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
quint32 VGObject::getIdTool() const
|
||||||
|
{
|
||||||
|
if (d->mode == Draw::Calculation)
|
||||||
|
{
|
||||||
|
if (d->idObject != NULL_ID)
|
||||||
|
{
|
||||||
|
return d->idObject;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return d->_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return d->_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QLineF VGObject::BuildLine(const QPointF &p1, const qreal &length, const qreal &angle)
|
QLineF VGObject::BuildLine(const QPointF &p1, const qreal &length, const qreal &angle)
|
||||||
{
|
{
|
||||||
|
|
|
@ -68,6 +68,8 @@ public:
|
||||||
quint32 id() const;
|
quint32 id() const;
|
||||||
virtual void setId(const quint32 &id);
|
virtual void setId(const quint32 &id);
|
||||||
|
|
||||||
|
quint32 getIdTool() const;
|
||||||
|
|
||||||
static QLineF BuildLine(const QPointF &p1, const qreal& length, const qreal &angle);
|
static QLineF BuildLine(const QPointF &p1, const qreal& length, const qreal &angle);
|
||||||
static QPointF BuildRay(const QPointF &firstPoint, const qreal &angle, const QRectF &scRect);
|
static QPointF BuildRay(const QPointF &firstPoint, const qreal &angle, const QRectF &scRect);
|
||||||
static QLineF BuildAxis(const QPointF &p, const qreal &angle, const QRectF &scRect);
|
static QLineF BuildAxis(const QPointF &p, const qreal &angle, const QRectF &scRect);
|
||||||
|
|
|
@ -160,7 +160,7 @@ VToolArc* VToolArc::Create(const quint32 _id, const quint32 ¢er, QString &ra
|
||||||
connect(scene, &VMainGraphicsScene::NewFactor, toolArc, &VToolArc::SetFactor);
|
connect(scene, &VMainGraphicsScene::NewFactor, toolArc, &VToolArc::SetFactor);
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, toolArc, &VToolArc::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, toolArc, &VToolArc::Disable);
|
||||||
doc->AddTool(id, toolArc);
|
doc->AddTool(id, toolArc);
|
||||||
doc->IncrementReferens(center);
|
doc->IncrementReferens(c.getIdTool());
|
||||||
return toolArc;
|
return toolArc;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -310,8 +310,8 @@ void VToolArc::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolArc::RemoveReferens()
|
void VToolArc::RemoveReferens()
|
||||||
{
|
{
|
||||||
const QSharedPointer<VArc> arc = VAbstractTool::data.GeometricObject<VArc>(id);
|
const auto arc = VAbstractTool::data.GeometricObject<VArc>(id);
|
||||||
doc->DecrementReferens(arc->GetCenter().id());
|
doc->DecrementReferens(arc->GetCenter().getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -129,7 +129,7 @@ VToolArcWithLength *VToolArcWithLength::Create(const quint32 _id, const quint32
|
||||||
connect(scene, &VMainGraphicsScene::NewFactor, toolArc, &VToolArcWithLength::SetFactor);
|
connect(scene, &VMainGraphicsScene::NewFactor, toolArc, &VToolArcWithLength::SetFactor);
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, toolArc, &VToolArcWithLength::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, toolArc, &VToolArcWithLength::Disable);
|
||||||
doc->AddTool(id, toolArc);
|
doc->AddTool(id, toolArc);
|
||||||
doc->IncrementReferens(center);
|
doc->IncrementReferens(c.getIdTool());
|
||||||
return toolArc;
|
return toolArc;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -269,8 +269,8 @@ void VToolArcWithLength::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolArcWithLength::RemoveReferens()
|
void VToolArcWithLength::RemoveReferens()
|
||||||
{
|
{
|
||||||
const QSharedPointer<VArc> arc = VAbstractTool::data.GeometricObject<VArc>(id);
|
const auto arc = VAbstractTool::data.GeometricObject<VArc>(id);
|
||||||
doc->DecrementReferens(arc->GetCenter().id());
|
doc->DecrementReferens(arc->GetCenter().getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -201,8 +201,8 @@ VToolSpline* VToolSpline::Create(const quint32 _id, const quint32 &p1, const qui
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, spl, &VToolSpline::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, spl, &VToolSpline::EnableToolMove);
|
||||||
connect(scene, &VMainGraphicsScene::CurveDetailsMode, spl, &VToolSpline::DetailsMode);
|
connect(scene, &VMainGraphicsScene::CurveDetailsMode, spl, &VToolSpline::DetailsMode);
|
||||||
doc->AddTool(id, spl);
|
doc->AddTool(id, spl);
|
||||||
doc->IncrementReferens(p1);
|
doc->IncrementReferens(point1.getIdTool());
|
||||||
doc->IncrementReferens(p4);
|
doc->IncrementReferens(point4.getIdTool());
|
||||||
return spl;
|
return spl;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -287,9 +287,9 @@ void VToolSpline::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolSpline::RemoveReferens()
|
void VToolSpline::RemoveReferens()
|
||||||
{
|
{
|
||||||
const QSharedPointer<VSpline> spl = VAbstractTool::data.GeometricObject<VSpline>(id);
|
const auto spl = VAbstractTool::data.GeometricObject<VSpline>(id);
|
||||||
doc->DecrementReferens(spl->GetP1().id());
|
doc->DecrementReferens(spl->GetP1().getIdTool());
|
||||||
doc->DecrementReferens(spl->GetP4().id());
|
doc->DecrementReferens(spl->GetP4().getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -130,7 +130,7 @@ VToolSplinePath* VToolSplinePath::Create(DialogTool *dialog, VMainGraphicsScene
|
||||||
const QString color = dialogTool->GetColor();
|
const QString color = dialogTool->GetColor();
|
||||||
for (qint32 i = 0; i < path->CountPoint(); ++i)
|
for (qint32 i = 0; i < path->CountPoint(); ++i)
|
||||||
{
|
{
|
||||||
doc->IncrementReferens((*path)[i].P().id());
|
doc->IncrementReferens((*path)[i].P().getIdTool());
|
||||||
}
|
}
|
||||||
VToolSplinePath* spl = Create(0, path, color, scene, doc, data, Document::FullParse, Source::FromGui);
|
VToolSplinePath* spl = Create(0, path, color, scene, doc, data, Document::FullParse, Source::FromGui);
|
||||||
if (spl != nullptr)
|
if (spl != nullptr)
|
||||||
|
@ -371,10 +371,10 @@ void VToolSplinePath::AddPathPoint(VAbstractPattern *doc, QDomElement &domElemen
|
||||||
*/
|
*/
|
||||||
void VToolSplinePath::RemoveReferens()
|
void VToolSplinePath::RemoveReferens()
|
||||||
{
|
{
|
||||||
VSplinePath splPath = *VAbstractTool::data.GeometricObject<VSplinePath>(id);
|
const VSplinePath splPath = *VAbstractTool::data.GeometricObject<VSplinePath>(id);
|
||||||
for (qint32 i = 0; i < splPath.Count(); ++i)
|
for (qint32 i = 0; i < splPath.Count(); ++i)
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(splPath.at(i).P().id());
|
doc->DecrementReferens(splPath.at(i).P().getIdTool());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -159,13 +159,13 @@ VToolTrueDarts *VToolTrueDarts::Create(quint32 _id,
|
||||||
if (typeCreation == Source::FromGui)
|
if (typeCreation == Source::FromGui)
|
||||||
{
|
{
|
||||||
id = data->getNextId();//Just reserve id for tool
|
id = data->getNextId();//Just reserve id for tool
|
||||||
p1id = data->AddGObject(new VPointF(fPoint1, point1Name, mx1, my1));
|
p1id = data->AddGObject(new VPointF(fPoint1, point1Name, mx1, my1, id));
|
||||||
p2id = data->AddGObject(new VPointF(fPoint2, point2Name, mx2, my2));
|
p2id = data->AddGObject(new VPointF(fPoint2, point2Name, mx2, my2, id));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
data->UpdateGObject(p1id, new VPointF(fPoint1, point1Name, mx1, my1));
|
data->UpdateGObject(p1id, new VPointF(fPoint1, point1Name, mx1, my1, id));
|
||||||
data->UpdateGObject(p2id, new VPointF(fPoint2, point2Name, mx2, my2));
|
data->UpdateGObject(p2id, new VPointF(fPoint2, point2Name, mx2, my2, id));
|
||||||
if (parse != Document::FullParse)
|
if (parse != Document::FullParse)
|
||||||
{
|
{
|
||||||
doc->UpdateToolData(id, data);
|
doc->UpdateToolData(id, data);
|
||||||
|
@ -182,11 +182,11 @@ VToolTrueDarts *VToolTrueDarts::Create(quint32 _id,
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, points, &VToolTrueDarts::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, points, &VToolTrueDarts::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, points, &VToolTrueDarts::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, points, &VToolTrueDarts::EnableToolMove);
|
||||||
doc->AddTool(id, points);
|
doc->AddTool(id, points);
|
||||||
doc->IncrementReferens(baseLineP1Id);
|
doc->IncrementReferens(baseLineP1->getIdTool());
|
||||||
doc->IncrementReferens(baseLineP2Id);
|
doc->IncrementReferens(baseLineP2->getIdTool());
|
||||||
doc->IncrementReferens(dartP1Id);
|
doc->IncrementReferens(dartP1->getIdTool());
|
||||||
doc->IncrementReferens(dartP2Id);
|
doc->IncrementReferens(dartP2->getIdTool());
|
||||||
doc->IncrementReferens(dartP3Id);
|
doc->IncrementReferens(dartP3->getIdTool());
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -305,11 +305,17 @@ void VToolTrueDarts::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolTrueDarts::RemoveReferens()
|
void VToolTrueDarts::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(baseLineP1Id);
|
const auto baseLineP1 = VAbstractTool::data.GetGObject(baseLineP1Id);
|
||||||
doc->DecrementReferens(baseLineP2Id);
|
const auto baseLineP2 = VAbstractTool::data.GetGObject(baseLineP2Id);
|
||||||
doc->DecrementReferens(dartP1Id);
|
const auto dartP1 = VAbstractTool::data.GetGObject(dartP1Id);
|
||||||
doc->DecrementReferens(dartP2Id);
|
const auto dartP2 = VAbstractTool::data.GetGObject(dartP2Id);
|
||||||
doc->DecrementReferens(dartP3Id);
|
const auto dartP3 = VAbstractTool::data.GetGObject(dartP3Id);
|
||||||
|
|
||||||
|
doc->DecrementReferens(baseLineP1->getIdTool());
|
||||||
|
doc->DecrementReferens(baseLineP2->getIdTool());
|
||||||
|
doc->DecrementReferens(dartP1->getIdTool());
|
||||||
|
doc->DecrementReferens(dartP2->getIdTool());
|
||||||
|
doc->DecrementReferens(dartP3->getIdTool());
|
||||||
VToolDoublePoint::RemoveReferens();
|
VToolDoublePoint::RemoveReferens();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -123,7 +123,9 @@ void VToolCut::RefreshGeometry()
|
||||||
*/
|
*/
|
||||||
void VToolCut::RemoveReferens()
|
void VToolCut::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(curveCutId);
|
const auto curve = VAbstractTool::data.GetGObject(curveCutId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(curve->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -170,7 +170,7 @@ VToolCutArc* VToolCutArc::Create(const quint32 _id, const QString &pointName, QS
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->AddTool(arc1id, point);
|
doc->AddTool(arc1id, point);
|
||||||
doc->AddTool(arc2id, point);
|
doc->AddTool(arc2id, point);
|
||||||
doc->IncrementReferens(arcId);
|
doc->IncrementReferens(arc->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -178,7 +178,7 @@ VToolCutSpline* VToolCutSpline::Create(const quint32 _id, const QString &pointNa
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->AddTool(spl1id, point);
|
doc->AddTool(spl1id, point);
|
||||||
doc->AddTool(spl2id, point);
|
doc->AddTool(spl2id, point);
|
||||||
doc->IncrementReferens(splineId);
|
doc->IncrementReferens(spl->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -222,7 +222,7 @@ VToolCutSplinePath* VToolCutSplinePath::Create(const quint32 _id, const QString
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->AddTool(splPath1id, point);
|
doc->AddTool(splPath1id, point);
|
||||||
doc->AddTool(splPath2id, point);
|
doc->AddTool(splPath2id, point);
|
||||||
doc->IncrementReferens(splinePathId);
|
doc->IncrementReferens(splPath->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -94,7 +94,8 @@ void VToolAlongLine::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolAlongLine::RemoveReferens()
|
void VToolAlongLine::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(secondPointId);
|
const auto secondPoint = VAbstractTool::data.GetGObject(secondPointId);
|
||||||
|
doc->DecrementReferens(secondPoint->getIdTool());
|
||||||
VToolLinePoint::RemoveReferens();
|
VToolLinePoint::RemoveReferens();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,8 +280,8 @@ VToolAlongLine* VToolAlongLine::Create(const quint32 _id, const QString &pointNa
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolAlongLine::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolAlongLine::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolAlongLine::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolAlongLine::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -205,9 +205,9 @@ VToolBisector* VToolBisector::Create(const quint32 _id, QString &formula, const
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolBisector::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolBisector::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolBisector::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolBisector::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
doc->IncrementReferens(thirdPointId);
|
doc->IncrementReferens(thirdPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -248,8 +248,11 @@ void VToolBisector::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolBisector::RemoveReferens()
|
void VToolBisector::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(firstPointId);
|
const auto firstPoint = VAbstractTool::data.GetGObject(firstPointId);
|
||||||
doc->DecrementReferens(thirdPointId);
|
const auto thirdPoint = VAbstractTool::data.GetGObject(thirdPointId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(firstPoint->getIdTool());
|
||||||
|
doc->DecrementReferens(thirdPoint->getIdTool());
|
||||||
VToolLinePoint::RemoveReferens();
|
VToolLinePoint::RemoveReferens();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -134,8 +134,8 @@ VToolCurveIntersectAxis *VToolCurveIntersectAxis::Create(const quint32 _id, cons
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolCurveIntersectAxis::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolCurveIntersectAxis::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolCurveIntersectAxis::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolCurveIntersectAxis::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(basePointId);
|
doc->IncrementReferens(basePoint->getIdTool());
|
||||||
doc->IncrementReferens(curveId);
|
doc->IncrementReferens(curve->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -170,7 +170,7 @@ VToolEndLine* VToolEndLine::Create(const quint32 _id, const QString &pointName,
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolEndLine::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolEndLine::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolEndLine::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolEndLine::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(basePointId);
|
doc->IncrementReferens(basePoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -162,9 +162,9 @@ VToolHeight* VToolHeight::Create(const quint32 _id, const QString &pointName, co
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolHeight::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolHeight::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolHeight::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolHeight::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(basePointId);
|
doc->IncrementReferens(basePoint->getIdTool());
|
||||||
doc->IncrementReferens(p1LineId);
|
doc->IncrementReferens(p1Line->getIdTool());
|
||||||
doc->IncrementReferens(p2LineId);
|
doc->IncrementReferens(p2Line->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -145,9 +145,9 @@ VToolLineIntersectAxis *VToolLineIntersectAxis::Create(const quint32 _id, const
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolLineIntersectAxis::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolLineIntersectAxis::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolLineIntersectAxis::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolLineIntersectAxis::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(basePointId);
|
doc->IncrementReferens(basePoint->getIdTool());
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -86,7 +86,8 @@ void VToolLinePoint::RefreshGeometry()
|
||||||
*/
|
*/
|
||||||
void VToolLinePoint::RemoveReferens()
|
void VToolLinePoint::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(basePointId);
|
const auto basePoint = VAbstractTool::data.GetGObject(basePointId);
|
||||||
|
doc->DecrementReferens(basePoint->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -165,8 +165,8 @@ VToolNormal* VToolNormal::Create(const quint32 _id, QString &formula, const quin
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolNormal::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolNormal::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolNormal::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolNormal::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -226,7 +226,8 @@ void VToolNormal::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolNormal::RemoveReferens()
|
void VToolNormal::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(secondPointId);
|
const auto secondPoint = VAbstractTool::data.GetGObject(secondPointId);
|
||||||
|
doc->DecrementReferens(secondPoint->getIdTool());
|
||||||
VToolLinePoint::RemoveReferens();
|
VToolLinePoint::RemoveReferens();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -209,9 +209,9 @@ VToolShoulderPoint* VToolShoulderPoint::Create(const quint32 _id, QString &formu
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolShoulderPoint::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolShoulderPoint::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolShoulderPoint::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolShoulderPoint::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(p1Line);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(p2Line);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
doc->IncrementReferens(pShoulder);
|
doc->IncrementReferens(shoulderPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -252,8 +252,11 @@ void VToolShoulderPoint::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolShoulderPoint::RemoveReferens()
|
void VToolShoulderPoint::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(p2Line);
|
const auto p2 = VAbstractTool::data.GetGObject(p2Line);
|
||||||
doc->DecrementReferens(pShoulder);
|
const auto pS = VAbstractTool::data.GetGObject(pShoulder);
|
||||||
|
|
||||||
|
doc->DecrementReferens(p2->getIdTool());
|
||||||
|
doc->DecrementReferens(pS->getIdTool());
|
||||||
VToolLinePoint::RemoveReferens();
|
VToolLinePoint::RemoveReferens();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -169,10 +169,10 @@ VToolLineIntersect* VToolLineIntersect::Create(const quint32 _id, const quint32
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolLineIntersect::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolLineIntersect::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolLineIntersect::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolLineIntersect::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(p1Line1Id);
|
doc->IncrementReferens(p1Line1->getIdTool());
|
||||||
doc->IncrementReferens(p2Line1Id);
|
doc->IncrementReferens(p2Line1->getIdTool());
|
||||||
doc->IncrementReferens(p1Line2Id);
|
doc->IncrementReferens(p1Line2->getIdTool());
|
||||||
doc->IncrementReferens(p2Line2Id);
|
doc->IncrementReferens(p2Line2->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -214,10 +214,15 @@ void VToolLineIntersect::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolLineIntersect::RemoveReferens()
|
void VToolLineIntersect::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(p1Line1);
|
const auto p1L1 = VAbstractTool::data.GetGObject(p1Line1);
|
||||||
doc->DecrementReferens(p2Line1);
|
const auto p2L1 = VAbstractTool::data.GetGObject(p2Line1);
|
||||||
doc->DecrementReferens(p1Line2);
|
const auto p1L2 = VAbstractTool::data.GetGObject(p1Line2);
|
||||||
doc->DecrementReferens(p2Line2);
|
const auto p2L2 = VAbstractTool::data.GetGObject(p2Line2);
|
||||||
|
|
||||||
|
doc->DecrementReferens(p1L1->getIdTool());
|
||||||
|
doc->DecrementReferens(p2L1->getIdTool());
|
||||||
|
doc->DecrementReferens(p1L2->getIdTool());
|
||||||
|
doc->DecrementReferens(p2L2->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -113,8 +113,8 @@ VToolPointFromArcAndTangent *VToolPointFromArcAndTangent::Create(const quint32 _
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointFromArcAndTangent::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointFromArcAndTangent::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointFromArcAndTangent::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointFromArcAndTangent::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(arcId);
|
doc->IncrementReferens(arc.getIdTool());
|
||||||
doc->IncrementReferens(tangentPointId);
|
doc->IncrementReferens(tPoint.getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -260,8 +260,11 @@ void VToolPointFromArcAndTangent::ShowVisualization(bool show)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolPointFromArcAndTangent::RemoveReferens()
|
void VToolPointFromArcAndTangent::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(arcId);
|
const auto arc = VAbstractTool::data.GetGObject(arcId);
|
||||||
doc->DecrementReferens(tangentPointId);
|
const auto tP = VAbstractTool::data.GetGObject(tangentPointId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(arc->getIdTool());
|
||||||
|
doc->DecrementReferens(tP->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -123,8 +123,8 @@ VToolPointFromCircleAndTangent *VToolPointFromCircleAndTangent::Create(const qui
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointFromCircleAndTangent::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointFromCircleAndTangent::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointFromCircleAndTangent::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointFromCircleAndTangent::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(circleCenterId);
|
doc->IncrementReferens(cPoint.getIdTool());
|
||||||
doc->IncrementReferens(tangentPointId);
|
doc->IncrementReferens(tPoint.getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -244,8 +244,11 @@ void VToolPointFromCircleAndTangent::ShowVisualization(bool show)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolPointFromCircleAndTangent::RemoveReferens()
|
void VToolPointFromCircleAndTangent::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(circleCenterId);
|
const auto circleCenter = VAbstractTool::data.GetGObject(circleCenterId);
|
||||||
doc->DecrementReferens(tangentPointId);
|
const auto tangentPoint = VAbstractTool::data.GetGObject(tangentPointId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(circleCenter->getIdTool());
|
||||||
|
doc->DecrementReferens(tangentPoint->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -225,9 +225,9 @@ VToolPointOfContact* VToolPointOfContact::Create(const quint32 _id, QString &rad
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfContact::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfContact::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfContact::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfContact::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(center);
|
doc->IncrementReferens(centerP->getIdTool());
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstP->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondP->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -268,9 +268,13 @@ void VToolPointOfContact::contextMenuEvent(QGraphicsSceneContextMenuEvent *event
|
||||||
*/
|
*/
|
||||||
void VToolPointOfContact::RemoveReferens()
|
void VToolPointOfContact::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(center);
|
const auto c = VAbstractTool::data.GetGObject(center);
|
||||||
doc->DecrementReferens(firstPointId);
|
const auto firstPoint = VAbstractTool::data.GetGObject(firstPointId);
|
||||||
doc->DecrementReferens(secondPointId);
|
const auto secondPoint = VAbstractTool::data.GetGObject(secondPointId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(c->getIdTool());
|
||||||
|
doc->DecrementReferens(firstPoint->getIdTool());
|
||||||
|
doc->DecrementReferens(secondPoint->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -146,8 +146,8 @@ VToolPointOfIntersection *VToolPointOfIntersection::Create(const quint32 _id, co
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfIntersection::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfIntersection::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfIntersection::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfIntersection::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -159,8 +159,11 @@ VToolPointOfIntersection *VToolPointOfIntersection::Create(const quint32 _id, co
|
||||||
*/
|
*/
|
||||||
void VToolPointOfIntersection::RemoveReferens()
|
void VToolPointOfIntersection::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(firstPointId);
|
const auto firstPoint = VAbstractTool::data.GetGObject(firstPointId);
|
||||||
doc->DecrementReferens(secondPointId);
|
const auto secondPoint = VAbstractTool::data.GetGObject(secondPointId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(firstPoint->getIdTool());
|
||||||
|
doc->DecrementReferens(secondPoint->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -114,8 +114,8 @@ VToolPointOfIntersectionArcs *VToolPointOfIntersectionArcs::Create(const quint32
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfIntersectionArcs::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfIntersectionArcs::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfIntersectionArcs::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfIntersectionArcs::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(firstArcId);
|
doc->IncrementReferens(firstArc->getIdTool());
|
||||||
doc->IncrementReferens(secondArcId);
|
doc->IncrementReferens(secondArc->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -267,8 +267,11 @@ void VToolPointOfIntersectionArcs::ShowVisualization(bool show)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolPointOfIntersectionArcs::RemoveReferens()
|
void VToolPointOfIntersectionArcs::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(firstArcId);
|
const auto firstArc = VAbstractTool::data.GetGObject(firstArcId);
|
||||||
doc->DecrementReferens(secondArcId);
|
const auto secondArc = VAbstractTool::data.GetGObject(secondArcId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(firstArc->getIdTool());
|
||||||
|
doc->DecrementReferens(secondArc->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -135,8 +135,8 @@ VToolPointOfIntersectionCircles *VToolPointOfIntersectionCircles::Create(const q
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfIntersectionCircles::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolPointOfIntersectionCircles::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfIntersectionCircles::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolPointOfIntersectionCircles::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(firstCircleCenterId);
|
doc->IncrementReferens(c1Point.getIdTool());
|
||||||
doc->IncrementReferens(secondCircleCenterId);
|
doc->IncrementReferens(c2Point.getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -280,8 +280,11 @@ void VToolPointOfIntersectionCircles::ShowVisualization(bool show)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VToolPointOfIntersectionCircles::RemoveReferens()
|
void VToolPointOfIntersectionCircles::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(firstCircleCenterId);
|
const auto firstCircleCenter = VAbstractTool::data.GetGObject(firstCircleCenterId);
|
||||||
doc->DecrementReferens(secondCircleCenterId);
|
const auto secondCircleCenter = VAbstractTool::data.GetGObject(secondCircleCenterId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(firstCircleCenter->getIdTool());
|
||||||
|
doc->DecrementReferens(secondCircleCenter->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -156,10 +156,10 @@ VToolTriangle* VToolTriangle::Create(const quint32 _id, const QString &pointName
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolTriangle::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, point, &VToolTriangle::Disable);
|
||||||
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolTriangle::EnableToolMove);
|
connect(scene, &VMainGraphicsScene::EnableToolMove, point, &VToolTriangle::EnableToolMove);
|
||||||
doc->AddTool(id, point);
|
doc->AddTool(id, point);
|
||||||
doc->IncrementReferens(axisP1Id);
|
doc->IncrementReferens(axisP1->getIdTool());
|
||||||
doc->IncrementReferens(axisP2Id);
|
doc->IncrementReferens(axisP2->getIdTool());
|
||||||
doc->IncrementReferens(firstPointId);
|
doc->IncrementReferens(firstPoint->getIdTool());
|
||||||
doc->IncrementReferens(secondPointId);
|
doc->IncrementReferens(secondPoint->getIdTool());
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -213,10 +213,15 @@ QPointF VToolTriangle::FindPoint(const QPointF &axisP1, const QPointF &axisP2, c
|
||||||
*/
|
*/
|
||||||
void VToolTriangle::RemoveReferens()
|
void VToolTriangle::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(axisP1Id);
|
const auto axisP1 = VAbstractTool::data.GetGObject(axisP1Id);
|
||||||
doc->DecrementReferens(axisP2Id);
|
const auto axisP2 = VAbstractTool::data.GetGObject(axisP2Id);
|
||||||
doc->DecrementReferens(firstPointId);
|
const auto firstPoint = VAbstractTool::data.GetGObject(firstPointId);
|
||||||
doc->DecrementReferens(secondPointId);
|
const auto secondPoint = VAbstractTool::data.GetGObject(secondPointId);
|
||||||
|
|
||||||
|
doc->DecrementReferens(axisP1->getIdTool());
|
||||||
|
doc->DecrementReferens(axisP2->getIdTool());
|
||||||
|
doc->DecrementReferens(firstPoint->getIdTool());
|
||||||
|
doc->DecrementReferens(secondPoint->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -155,8 +155,12 @@ VToolLine * VToolLine::Create(const quint32 &_id, const quint32 &firstPoint, con
|
||||||
connect(scene, &VMainGraphicsScene::NewFactor, line, &VToolLine::SetFactor);
|
connect(scene, &VMainGraphicsScene::NewFactor, line, &VToolLine::SetFactor);
|
||||||
connect(scene, &VMainGraphicsScene::DisableItem, line, &VToolLine::Disable);
|
connect(scene, &VMainGraphicsScene::DisableItem, line, &VToolLine::Disable);
|
||||||
doc->AddTool(id, line);
|
doc->AddTool(id, line);
|
||||||
doc->IncrementReferens(firstPoint);
|
|
||||||
doc->IncrementReferens(secondPoint);
|
const QSharedPointer<VPointF> first = data->GeometricObject<VPointF>(firstPoint);
|
||||||
|
const QSharedPointer<VPointF> second = data->GeometricObject<VPointF>(secondPoint);
|
||||||
|
|
||||||
|
doc->IncrementReferens(first->getIdTool());
|
||||||
|
doc->IncrementReferens(second->getIdTool());
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -307,8 +311,11 @@ void VToolLine::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||||
*/
|
*/
|
||||||
void VToolLine::RemoveReferens()
|
void VToolLine::RemoveReferens()
|
||||||
{
|
{
|
||||||
doc->DecrementReferens(firstPoint);
|
const auto p1 = VAbstractTool::data.GetGObject(firstPoint);
|
||||||
doc->DecrementReferens(secondPoint);
|
const auto p2 = VAbstractTool::data.GetGObject(secondPoint);
|
||||||
|
|
||||||
|
doc->DecrementReferens(p1->getIdTool());
|
||||||
|
doc->DecrementReferens(p2->getIdTool());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user