From 926e002201e6dff00cb60b2ff23074721bf9d974 Mon Sep 17 00:00:00 2001 From: Samir Naik Date: Fri, 10 Aug 2001 18:47:00 +0000 Subject: [PATCH] *** empty log message *** --- .../src/directdevices/DirectDeviceManager.py | 33 +++++++++++++++++++ direct/src/directdevices/DirectJoybox.py | 1 + 2 files changed, 34 insertions(+) diff --git a/direct/src/directdevices/DirectDeviceManager.py b/direct/src/directdevices/DirectDeviceManager.py index ae3a4076ba..2909e25abb 100644 --- a/direct/src/directdevices/DirectDeviceManager.py +++ b/direct/src/directdevices/DirectDeviceManager.py @@ -26,6 +26,9 @@ class DirectDeviceManager(VrpnClient, PandaObject): def createAnalogs(self, device): return DirectAnalogs(self, device) + def createTracker(self, device): + return DirectTracker(self, device) + def createDials(self, device): return DirectDials(self, device) @@ -131,6 +134,36 @@ class DirectAnalogs(AnalogNode, PandaObject): str = str + '%.3f' % val + ' ' return str +class DirectTracker(TrackerNode, PandaObject): + trackerCount = 0 + def __init__(self, vrpnClient, device): + # Keep track of number of trackers created + DirectTracker.trackerCount += 1 + # Create a unique name for this tracker object + self.name = 'DirectTracker-' + `DirectTracker.trackerCount` + # Create a new tracker node for the given device + TrackerNode.__init__(self, vrpnClient, device) + # Attach node to data graph + self.nodePath = base.dataRoot.attachNewNode(self) + + def enable(self): + self.nodePath.reparentTo(base.dataRoot) + + def disable(self): + self.nodePath.reparentTo(base.dataUnused) + + def getName(self): + return self.name + + def getNodePath(self): + return self.nodePath + + def __repr__(self): + str = self.name + ': ' + for val in self: + str = str + '%.3f' % val + ' ' + return str + class DirectDials(DialNode, PandaObject): dialCount = 0 def __init__(self, vrpnClient, device): diff --git a/direct/src/directdevices/DirectJoybox.py b/direct/src/directdevices/DirectJoybox.py index 9b9b1bc092..43537d7c52 100644 --- a/direct/src/directdevices/DirectJoybox.py +++ b/direct/src/directdevices/DirectJoybox.py @@ -35,6 +35,7 @@ class DirectJoybox(PandaObject): if direct.deviceManager == None: direct.deviceManager = DirectDeviceManager() # Set name + DirectJoybox.joyboxCount += 1 self.name = 'Joybox-' + `DirectJoybox.joyboxCount` # Get buttons and analogs self.device = device