From 7f25fe6ddb3586c804e4255d4195ab0e6ed2613a Mon Sep 17 00:00:00 2001 From: "Zheng, Lei" Date: Thu, 6 Apr 2017 17:03:57 +0800 Subject: [PATCH] Path.Area: fixed plane finding --- src/Mod/Path/App/Area.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Mod/Path/App/Area.cpp b/src/Mod/Path/App/Area.cpp index a3035d91a1..f40cac934e 100644 --- a/src/Mod/Path/App/Area.cpp +++ b/src/Mod/Path/App/Area.cpp @@ -504,14 +504,14 @@ struct FindPlane { void operator()(const TopoDS_Shape &shape, int) { gp_Trsf trsf; - BRepLib_FindSurface finder(shape,-1,Standard_True); + BRepLib_FindSurface finder(shape.Located(TopLoc_Location()),-1,Standard_True); if (!finder.Found()) return; gp_Ax3 pos = GeomAdaptor_Surface(finder.Surface()).Plane().Position(); - - // It seemed that FindSurface disregard shape's transformation, - // so we have to transformed the found plane manually, or is it?? + // TODO: It seemed that FindSurface disregard shape's + // transformation SOMETIME, so we have to transformed the found + // plane manually. Need to figure out WHY! pos.Transform(shape.Location().Transformation()); // We only use right hand coordinate, hence gp_Ax2 instead of gp_Ax3