瀏覽代碼

*** empty log message ***

Samir Naik 24 年之前
父節點
當前提交
926e002201
共有 2 個文件被更改,包括 34 次插入0 次删除
  1. 33 0
      direct/src/directdevices/DirectDeviceManager.py
  2. 1 0
      direct/src/directdevices/DirectJoybox.py

+ 33 - 0
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):

+ 1 - 0
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