void TutorialApplication::createPlane(const std::string& name, const Ogre::Vector3& dir, double dist, double width, double height) { Ogre::Plane plane(dir, dist); Ogre::MeshManager::getSingleton().createPlane(name, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, plane, width, height, 5, 5, true, 1, 5, 5, dir.perpendicular()); const std::string wat = name+ "Entity"; Ogre::Entity* entGround = mSceneMgr->createEntity(wat, name); mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(entGround); entGround->setMaterialName("Examples/Rockwall"); entGround->setCastShadows(false); ShipProject::GameObject* ground = new ShipProject::GameObject(entGround, 0); ground->SetupCollision(new btStaticPlaneShape(btVector3(dir.x,dir.y,dir.z), dist), CollisionGroup::WALLS, CollisionGroup::BALLS | CollisionGroup::PLAYER | CollisionGroup::PROJECTILES_BALLS | CollisionGroup::PROJECTILES_PLAYER); ground->body()->setRestitution(0.6); objects_.push_back( ground ); }