void OgreWidget::mouseSelect(QPoint const & pos, bool multiple) { /* Apercu de ce que pourrait donner d'une selection par volume. Ogre::Real x = pos.x() / (float)width(); Ogre::Real y = pos.y() / (float)height(); Ogre::Ray ray = m_camera->getCamera()->getCameraToViewportRay(x, y); Ogre::RaySceneQuery * query = m_sceneManager->createRayQuery(ray); Ogre::RaySceneQueryResult & queryResult = query->execute(); Ogre::RaySceneQueryResult::iterator queryResultIterator = queryResult.begin(); Ogre::PlaneBoundedVolume volume = m_camera->getCameraToViewportBoxVolume(); Ogre::PlaneBoundedVolumeListSceneQuery * query = m_sceneManager->createPlaneBoundedVolumeQuery(volume); Ogre::SceneQueryResult & queryResult = query->execute();*/ Ogre::Entity * selectedEntity = m_selectionBuffer->OnSelectionClick(pos.x(), pos.y()); if (selectedEntity) { Ogre::SceneNode * node = selectedEntity->getParentSceneNode(); while (node->getParentSceneNode() != m_sceneManager->getRootSceneNode()) node = node->getParentSceneNode(); selectItem(Ogre::any_cast<InstItem *>(node->getUserObjectBindings().getUserAny()), multiple); } else unselectItem(); }