void SceneObject::attachCamera(SceneObject* self, Camera* camera) { if (camera_) { detachCamera(); } SceneObject* owner_object(camera->owner_object()); if (owner_object) { owner_object->detachCamera(); } camera_ = camera; camera_->set_owner_object(self); }
void SceneObject::attachCamera(const std::shared_ptr<SceneObject>& self, const std::shared_ptr<Camera>& camera) { if (camera_) { detachCamera(); } std::shared_ptr<SceneObject> owner_object(camera->owner_object()); if (owner_object) { owner_object->detachCamera(); } camera_ = camera; camera_->set_owner_object(self); }
bool Scene::addCamera(Ogre::Camera* cam, enum CameraMode camMode) { if(!isSceneSetup) return false; detachCamera(cam); camera = cam; return true; }