def createVisualNode(self, pos=(0, 0)): # modelNode is the actualy ship model modelNode = loader.loadModel("indicator.bam") # visualNode is the node we operate on to move and rotate the ship visualNode = NodePath('Ship: ' + self.name) visualNode.setPos(tupleToVec3(pos)) visualNode.setHpr(Vec3(0, -90, 90)) # TODO: add scale parameter to this or some other aggregator class visualNode.setScale(1) # Reparent the actual modelNode to the visualNode modelNode.reparentTo(visualNode) # Offset the model node relative to the parent modelNode.setPos(tripleToVec3(Ship.MODEL_ROTATION_OFFSET)) visualNode.reparentTo(render) return visualNode
def setCameraHpr(self, hpr): base.camera.setHpr(tripleToVec3(hpr))
def setCameraPos(self, pos): base.camera.setPos(tripleToVec3(pos))
def testTripleToVec3(self): self.failUnlessEqual( tripleToVec3( (1, 2, 3) ), Vec3(1, 2, 3) )
def testTripleToVec3(self): self.failUnlessEqual(tripleToVec3((1, 2, 3)), Vec3(1, 2, 3))
def setCameraHpr(self, hpr): base.camera.setHpr( tripleToVec3(hpr) )
def setCameraPos(self, pos): base.camera.setPos( tripleToVec3(pos) )