From 8b7b720bebc761c25457109dc60116dbc06ea0c6 Mon Sep 17 00:00:00 2001 From: Sergo Date: Wed, 21 Sep 2016 01:40:36 -0400 Subject: [PATCH] PartDesign: fix Polar and Mirror accepting Datum --- src/Mod/PartDesign/App/Body.cpp | 3 ++- src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp | 4 +++- src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Mod/PartDesign/App/Body.cpp b/src/Mod/PartDesign/App/Body.cpp index 3c20e92e0..d8195fa64 100644 --- a/src/Mod/PartDesign/App/Body.cpp +++ b/src/Mod/PartDesign/App/Body.cpp @@ -229,7 +229,8 @@ bool Body::isSolidFeature(const App::DocumentObject* f) if (f == NULL) return false; - if (f->getTypeId().isDerivedFrom(PartDesign::Feature::getClassTypeId())) { + if (f->getTypeId().isDerivedFrom(PartDesign::Feature::getClassTypeId()) && + !PartDesign::Feature::isDatum(f)) { // Transformed Features inside a MultiTransform are not solid features return !isMemberOfMultiTransform(f); } diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp index f0d202e28..9eb464b2f 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp @@ -190,7 +190,9 @@ void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg if(!selObj) return; // Note: ReferenceSelection has already checked the selection for validity - if ( selectionMode == reference || selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ) { + if ( selectionMode == reference || + selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) || + selObj->isDerivedFrom(PartDesign::Plane::getClassTypeId())) { pcMirrored->MirrorPlane.setValue(selObj, mirrorPlanes); recomputeFeature(); diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index bacfad874..3982963cd 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -231,7 +231,9 @@ void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges& if(!selObj) return; // Note: ReferenceSelection has already checked the selection for validity - if ( selectionMode == reference || selObj->isDerivedFrom ( App::Line::getClassTypeId () ) ) { + if ( selectionMode == reference || + selObj->isDerivedFrom ( App::Line::getClassTypeId () ) || + selObj->isDerivedFrom(PartDesign::Line::getClassTypeId()) ) { pcPolarPattern->Axis.setValue(selObj, axes); recomputeFeature();