- if (!myIsInitialized || myID->Get().Length() != 0 || object() != theObject) {
- boost::shared_ptr<Model_Data> aData =
- boost::dynamic_pointer_cast<Model_Data>(theObject->data());
- myRef->Set(aData->label());
- myID->Set(""); // feature is identified by the empty ID
+ if (theObject && (!myIsInitialized || myID->Get().Length() != 0 || object() != theObject)) {
+ std::shared_ptr<Model_Data> aData = std::dynamic_pointer_cast<Model_Data>(
+ theObject->data());
+ myRef->Set(aData->label().Father());
+ myID->Set(""); // feature is identified by the empty ID