def __init__(self, scene=viz.MainScene, crosshairFeedback = False, audioFeedback = False):
		self.scene = scene
		self.crosshair, self.crosshairLink = AimCenterScreen.addAimer(CROSSHAIR_DEFAULT_FILENAME, .1, scene=self.scene)
		self.crosshairFeedback = crosshairFeedback
		if crosshairFeedback:
#			self.crosshairWithCallback, self.crosshairWithCallbackLink = AimCenterScreen.addAimer(CROSSHAIR_SELECTED_FILENAME, .2, scene=self.scene)
			self.crosshairWithCallback, self.crosshairWithCallbackLink = AimCenterScreen.addAimer(CROSSHAIR_SELECTED_FILENAME, .2, scene=self.scene, incomingColor = viz.GREEN)
		self.audioFeedback = audioFeedback
		if audioFeedback:
			self.selectedAudio = viz.addAudio(AUDIO_SELECTED_FILENAME)
		self.enabled = None
		self.selected = None
		self.deselected = None # Stores the most recently deselected node
		self.callOnSelect = {} # Map of callbacks for when individual nodes are selected
		self.callOnDeselect = {} # Map of callbacks for when individual nodes are deselected

		self.disable()
    def __init__(self, IDsToSelect):
        self.selectableIDs = IDsToSelect
        self.crosshair, self.crosshairLink = AimCenterScreen.addAimer()
        vizact.onkeydown("m", self.focusCrosshair)

        self.selected = None
        self.timer = vizact.ontimer(0.1, self.focus)

        self.disable()
	def __init__(self, scene=viz.MainScene, imageFile='resources/ring_gray.png'):
		self.scene = scene
		self.crosshair, self.crosshairLink = AimCenterScreen.addAimer(imageFile, .1, scene=self.scene)
		
		self.selected = None
		self.deselected = None # Stores the most recently deselected node
		self.callOnSelect = {} # Map of callbacks for when individual nodes are selected
		self.callOnDeselect = {} # Map of callbacks for when individual nodes are deselected

		self.disable()