PartDesign: fix Polar and Mirror accepting Datum

This commit is contained in:
Sergo 2016-09-21 01:40:36 -04:00 committed by Yorik van Havre
parent 8459cdad5a
commit 8b7b720beb
3 changed files with 8 additions and 3 deletions

View File

@ -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);
}

View File

@ -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();

View File

@ -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();