+
+void Model_AttributeReference::setObject(const boost::shared_ptr<ModelAPI_Object>& theObject)
+{
+ if (owner() != theObject) {
+ ModelAPI_AttributeReference::setObject(theObject);
+ boost::shared_ptr<Model_Document> aDoc =
+ boost::dynamic_pointer_cast<Model_Document>(owner()->document());
+ if (aDoc) aDoc->objectIsReferenced(aDoc->object(myRef->Get()));
+ }
+}
+
+Model_AttributeReference::~Model_AttributeReference()
+{
+ boost::shared_ptr<Model_Document> aDoc =
+ boost::dynamic_pointer_cast<Model_Document>(owner()->document());
+ TDF_Label aLab = myRef->Get();
+ if (aDoc && !aLab.IsNull()) aDoc->objectIsNotReferenced(aDoc->object(myRef->Get()));
+}