void SelectionHandler::postRenderPass(uint32_t pass) { M_HandleToBox::iterator it = boxes_.begin(); M_HandleToBox::iterator end = boxes_.end(); for (; it != end; ++it) { Ogre::WireBoundingBox* box = it->second.second; box->setVisible(true); } }
void GameObject::showColliderBox() { auto var = geom->getBoundingBox(); // Bullet uses half margins for collider auto size = var.getSize() / 2; btVector3 min(0, 0, 0); btVector3 max(0, 0, 0); shape->getAabb(tr, min, max); Ogre::WireBoundingBox* box = new Ogre::WireBoundingBox(); Ogre::AxisAlignedBox abb(Ogre::Vector3(-size.x*scale, -size.y*scale, -size.z*scale), Ogre::Vector3(size.x*scale, size.y*scale, size.z*scale)); box->setupBoundingBox(abb); box->setVisible(true); box->setRenderQueueGroup(Ogre::RENDER_QUEUE_OVERLAY); sceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(box); }