https://github.com/FreeCAD/FreeCAD/blob ... e.cpp#L548
Code: Select all
/* Evaluate the expressions, and update properties */
for (;it != evaluationOrder.end();++it) {
// Get property to update
Property * prop = it->getProperty();
if (!prop)
throw Base::RuntimeError("Path does not resolve to a property.");
DocumentObject* parent = freecad_dynamic_cast<DocumentObject>(prop->getContainer());
/* Make sure property belongs to the same container as this PropertyExpressionEngine */
if (parent != docObj)
throw Base::RuntimeError("Invalid property owner.");