void SceneObject::attachTransform(SceneObject* self, Transform* transform) { if (transform_) { detachTransform(); } SceneObject* owner_object(transform->owner_object()); if (owner_object) { owner_object->detachRenderData(); } transform_ = transform; transform_->set_owner_object(self); dirtyBoundingVolume(); }
void SceneObject::attachTransform(const std::shared_ptr<SceneObject>& self, const std::shared_ptr<Transform>& transform) { if (transform_) { detachTransform(); } std::shared_ptr<SceneObject> owner_object(transform->owner_object()); if (owner_object) { owner_object->detachRenderData(); } transform_ = transform; transform_->set_owner_object(self); }