Sketcher: minor enhance in sketch interaction with body
This commit is contained in:
parent
bf94c3ebf7
commit
8b62680fe7
|
@ -1712,16 +1712,10 @@ bool SketchObject::isExternalAllowed(App::Document *pDoc, App::DocumentObject *p
|
|||
App::DocumentObject *support = this->Support.getValue();
|
||||
Part::BodyBase* body = Part::BodyBase::findBodyOf(this);
|
||||
if (body != NULL) {
|
||||
if (Part::BodyBase::findBodyOf(pObj) != body) {
|
||||
if ( ! body->hasFeature (pObj) && !this->allowOtherBody ) {
|
||||
// Selection outside of body not allowed if flag is not set
|
||||
if (!this->allowOtherBody)
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Datum features are always allowed
|
||||
if(pObj->getTypeId().isDerivedFrom(App::Plane::getClassTypeId()) ||
|
||||
pObj->getTypeId().isDerivedFrom(Part::Datum::getClassTypeId()))
|
||||
return true;
|
||||
} else {
|
||||
// Legacy parts - don't allow selection outside of the support
|
||||
if (pObj != support)
|
||||
|
|
|
@ -4480,8 +4480,10 @@ namespace SketcherGui {
|
|||
|
||||
// Note: its better to search the support of the sketch in case the sketch support is a base plane
|
||||
Part::BodyBase* body = Part::BodyBase::findBodyOf(sketch);
|
||||
if ((body != NULL) && (Part::BodyBase::findBodyOf(pObj) == body) && body->isAfter(pObj, sketch)) {
|
||||
if ( body && body->hasFeature ( pObj ) && body->isAfter ( pObj, sketch ) ) {
|
||||
// Don't allow selection after the sketch in the same body
|
||||
// NOTE: allowness of features in other bodies is handled by SketchObject::isExternalAllowed()
|
||||
// TODO may be this should be in SketchObject::isExternalAllowed() (2015-08-07, Fat-Zer)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user