PartDesign: Fix origin selection for pattern

This commit is contained in:
Stefan Tröger 2016-11-25 13:52:43 +01:00
parent 8d1bea8d60
commit bb1ac8bfc6
2 changed files with 14 additions and 12 deletions

View File

@ -200,13 +200,14 @@ void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg
}
exitSelectionMode();
} else {
if ( selectionMode == reference) {
std::vector<std::string> mirrorPlanes;
App::DocumentObject* selObj;
PartDesign::Mirrored* pcMirrored = static_cast<PartDesign::Mirrored*>(getObject());
getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes);
if (!selObj)
std::vector<std::string> mirrorPlanes;
App::DocumentObject* selObj;
PartDesign::Mirrored* pcMirrored = static_cast<PartDesign::Mirrored*>(getObject());
getReferencedSelection(pcMirrored, msg, selObj, mirrorPlanes);
if (!selObj)
return;
if ( selectionMode == reference || selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ) {
pcMirrored->MirrorPlane.setValue(selObj, mirrorPlanes);
recomputeFeature();
updateUI();

View File

@ -242,13 +242,14 @@ void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges&
exitSelectionMode();
}
else {
if (selectionMode == reference) {
std::vector<std::string> axes;
App::DocumentObject* selObj;
PartDesign::PolarPattern* pcPolarPattern = static_cast<PartDesign::PolarPattern*>(getObject());
getReferencedSelection(pcPolarPattern, msg, selObj, axes);
if(!selObj)
std::vector<std::string> axes;
App::DocumentObject* selObj;
PartDesign::PolarPattern* pcPolarPattern = static_cast<PartDesign::PolarPattern*>(getObject());
getReferencedSelection(pcPolarPattern, msg, selObj, axes);
if(!selObj)
return;
if (selectionMode == reference || selObj->isDerivedFrom ( App::Line::getClassTypeId () ) ) {
pcPolarPattern->Axis.setValue(selObj, axes);
recomputeFeature();
updateUI();