From 72cd746401f7a5f1d0d08e581f8b0fd2f950b27d Mon Sep 17 00:00:00 2001 From: logari81 Date: Mon, 16 Jul 2012 12:11:20 +0200 Subject: [PATCH] Sketcher: fix issues with single points --- src/Mod/Sketcher/App/SketchObject.cpp | 6 +- .../Resources/icons/Sketcher_CreatePoint.svg | 79 ++++++++++--------- 2 files changed, 47 insertions(+), 38 deletions(-) diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index 32d718d21..c5b1bc982 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -224,7 +224,11 @@ Base::Vector3d SketchObject::getPoint(int GeoId, PointPos PosId) const assert(GeoId == H_Axis || GeoId == V_Axis || (GeoId <= getHighestCurveIndex() && GeoId >= -getExternalGeometryCount()) ); const Part::Geometry *geo = getGeometry(GeoId); - if (geo->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { + if (geo->getTypeId() == Part::GeomPoint::getClassTypeId()) { + const Part::GeomPoint *p = dynamic_cast(geo); + if (PosId == start || PosId == mid || PosId == end) + return p->getPoint(); + } else if (geo->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { const Part::GeomLineSegment *lineSeg = dynamic_cast(geo); if (PosId == start) return lineSeg->getStartPoint(); diff --git a/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_CreatePoint.svg b/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_CreatePoint.svg index 648d602fb..b69c7cc25 100644 --- a/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_CreatePoint.svg +++ b/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_CreatePoint.svg @@ -14,8 +14,8 @@ height="64px" id="svg2726" sodipodi:version="0.32" - inkscape:version="0.48.1 r9760" - sodipodi:docname="Sketcher_Point.svg" + inkscape:version="0.48.3.1 r9886" + sodipodi:docname="Sketcher_CreatePoint.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" version="1.1" inkscape:export-filename="/home/yorik/Sources/FreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_CreatePoint.svg.png" @@ -87,6 +87,17 @@ id="radialGradient3888" xlink:href="#linearGradient3144-3" inkscape:collect="always" /> + + inkscape:window-width="657" + inkscape:window-height="716" + inkscape:window-x="710" + inkscape:window-y="24" + inkscape:window-maximized="0" /> @@ -115,7 +126,7 @@ image/svg+xml - + @@ -133,35 +144,29 @@ sodipodi:cy="655.2193" sodipodi:cx="197.14285" id="path3162-2" - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.80000019000000044;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.67000001" + style="opacity:0.67000002;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.09976673;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" sodipodi:type="arc" - transform="matrix(-2.047093,-0.04650869,0.04650869,-2.047093,549.55577,1983.2711)" /> - - - - + transform="matrix(-1.135537,-0.02584694,0.0257987,-1.13766,378.69194,1376.1392)" /> + +