Sketcher: allow referencing everything; add testing for circular references

This commit is contained in:
DeepSOIC
2015-07-08 21:37:28 +03:00
committed by Stefan Tröger
parent 565a191689
commit 61dd847db1
2 changed files with 12 additions and 4 deletions

View File

@@ -1707,7 +1707,14 @@ bool SketchObject::isExternalAllowed(App::Document *pDoc, App::DocumentObject *p
// Externals outside of the Document are NOT allowed
if (this->getDocument() != pDoc)
return false;
try {
return this->testIfLinkDAGCompatible(pObj);
} catch (Base::Exception &e) {
Base::Console().Warning("Probably, there is a circular reference in the document. Error: %s\n", e.what());
return true; //prohibiting this reference won't remove the problem anyway...
}
/*
// Note: Checking for the body of the support doesn't work when the support are the three base planes
App::DocumentObject *support = this->Support.getValue();
Part::BodyBase* body = Part::BodyBase::findBodyOf(this);
@@ -1723,6 +1730,7 @@ bool SketchObject::isExternalAllowed(App::Document *pDoc, App::DocumentObject *p
}
return true;
*/
}
int SketchObject::addSymmetric(const std::vector<int> &geoIdList, int refGeoId, Sketcher::PointPos refPosId/*=Sketcher::none*/)