From c6fd807bd459c6f7b84b015f944a41f091087c53 Mon Sep 17 00:00:00 2001 From: AjinkyaDahale Date: Wed, 22 Feb 2017 03:59:49 +0530 Subject: [PATCH] Sketcher: External edges in constraint modes (point on object) --- src/Mod/Sketcher/Gui/CommandConstraints.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Mod/Sketcher/Gui/CommandConstraints.cpp b/src/Mod/Sketcher/Gui/CommandConstraints.cpp index f9dc003942..867f3821eb 100644 --- a/src/Mod/Sketcher/Gui/CommandConstraints.cpp +++ b/src/Mod/Sketcher/Gui/CommandConstraints.cpp @@ -2320,7 +2320,9 @@ CmdSketcherConstrainPointOnObject::CmdSketcherConstrainPointOnObject() eType = ForEdit; allowedSelSequences = {{SelVertex, SelEdgeOrAxis}, {SelRoot, SelEdge}, - {SelEdge, SelVertexOrRoot}, {SelEdgeOrAxis, SelVertex}}; + {SelVertex, SelExternalEdge}, + {SelEdge, SelVertexOrRoot}, {SelEdgeOrAxis, SelVertex}, + {SelExternalEdge, SelVertex}}; constraintCursor = cursor_createpointonobj; } @@ -2412,12 +2414,14 @@ void CmdSketcherConstrainPointOnObject::applyConstraint(std::vector & switch (seqIndex) { case 0: // {SelVertex, SelEdgeOrAxis} case 1: // {SelRoot, SelEdge} + case 2: // {SelVertex, SelExternalEdge} GeoIdVt = selSeq.at(0).GeoId; GeoIdCrv = selSeq.at(1).GeoId; PosIdVt = selSeq.at(0).PosId; break; - case 2: // {SelEdge, SelVertexOrRoot} - case 3: // {SelEdgeOrAxis, SelVertex} + case 3: // {SelEdge, SelVertexOrRoot} + case 4: // {SelEdgeOrAxis, SelVertex} + case 5: // {SelExternalEdge, SelVertex} GeoIdVt = selSeq.at(1).GeoId; GeoIdCrv = selSeq.at(0).GeoId; PosIdVt = selSeq.at(1).PosId;