def __init__(self): #ShowBase.__init__(self) Utils.checkVersion() # Disable the camera trackball controls. base.disableMouse() self.render = base.render #create a list of debug points. These can be toggled ON/OFF self.debugPoints = [] #Disable moving stuff until all assets are loaded self.assetsLoaded = False #create my own "camera" self.rroot = self.render.attachNewNode('rroot') #Translational Root self.rroot.setPos(0.0, 0.0, 0.0) self.root = self.rroot.attachNewNode('root') #Rotational Root self.camPosTrackerUp = self.render.attachNewNode('camPosTrackerUp') self.camPosTrackerUp.setPos(0, 0, 1) self.z = self.root.attachNewNode('z') self.z.setPos(0, 0, 1) self.y = self.root.attachNewNode('y') self.y.setPos(0, 1, 0) self.x = self.root.attachNewNode('x') self.x.setPos(1, 0, 0) self.debugPoints.append(addDebugPoint(self.root, 1.0, 1.0, 1.0)) self.debugPoints.append(addDebugPoint(self.z, 0.0, 0.0, 1.0)) self.debugPoints.append(addDebugPoint(self.y, 0.0, 0.5, 0.5)) self.debugPoints.append(addDebugPoint(self.x, 0.5, 0.0, 0.5)) #Load matcher object #self.object = MatcherObject(self.root, GeometryParser.loadGeomObject) self.objects = {} self.selectedObject = None #Load point cloud self.pointcloud = MatcherObject(self.root, GeometryParser.loadPointCloud) self.pointcloud.setPointCloudThickness(4) self.accept('mouse1Delta', self.ldelta) self.accept('mouse2Delta', self.mdelta) self.accept('mouse3Delta', self.rdelta) self.accept('wheel_up', self.mscrollUp) self.accept('wheel_down', self.mscrollDown) self.accept(Settings.TOGGLE_DEBUG_HOTKEY, self.toggleDebug) self.accept(Settings.ICP_HOTKEY, self.runICP) #self.accept('q', self.testFunc) self.accept('object_click', self.selectObject) self.accept(base.win.getWindowEvent(), self.onWindowEvent) self.hideDebugPoints() #Hide debug points self.debugPointsShown = False self.mouseCont = MCont.MouseControls() #MENU self.accept(base.win.getWindowEvent(), self.onWindowEvent) self.bridgeMenu = HorizontalMenu(self, file('res/bridgeMenu.txt').read(), style='transparent.ccss', scale=.05) self.mini_img = MiniImage(self) self.accept(Settings.RRENDER_TOGGLE_HOTKEY, self.mini_img.appToggleHotkeyAction)