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);
}
Exemple #2
0
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;
}