void SceneObject::attachCameraRig(SceneObject* self, CameraRig* camera_rig) { if (camera_rig_) { detachCameraRig(); } SceneObject* owner_object(camera_rig->owner_object()); if (owner_object) { owner_object->detachCameraRig(); } camera_rig_ = camera_rig; camera_rig_->set_owner_object(self); }
void SceneObject::attachCameraRig(const std::shared_ptr<SceneObject>& self, const std::shared_ptr<CameraRig>& camera_rig) { if (camera_rig_) { detachCameraRig(); } std::shared_ptr<SceneObject> owner_object(camera_rig->owner_object()); if (owner_object) { owner_object->detachCameraRig(); } camera_rig_ = camera_rig; camera_rig_->set_owner_object(self); }