Esempio n. 1
0
    def initPlanet(self, parent, tex, pos, radius, mass, lvel, avel):
        planet = loader.loadModel(self.main.modeld + "planet")
        planet.reparentTo(parent)
        planet_tex = loader.loadTexture(tex)
        planet.setTexture(planet_tex)
        planet.setPos(pos)
        planet.setScale(radius)

        body = OdeBody(self.main.physicsWorld)
        M = OdeMass()
        M.setSphereTotal(mass, radius)
        body.setMass(M)
        body.setPosition(planet.getPos(parent))
        body.setQuaternion(planet.getQuat(parent))
        body.setLinearVel(lvel)
        body.setAngularVel(avel)

        geom = OdeSphereGeom(self.main.space, radius)
        geom.setBody(body)

        self.main.getPlist().append(planet)
        self.main.getBlist().append(body)
        self.main.getGlist().append(geom)