2
0
Эх сурвалжийг харах

*** empty log message ***

Mark Mine 25 жил өмнө
parent
commit
c01b8826dd

+ 1 - 41
direct/src/directdevices/DirectJoybox.py

@@ -71,27 +71,17 @@ class DirectJoybox(PandaObject):
         # Accept button events
         # Accept button events
         self.acceptSwitchModeEvent()
         self.acceptSwitchModeEvent()
         self.acceptUprightCameraEvent()
         self.acceptUprightCameraEvent()
-        # If moving widget update wrt info
-        if self.nodePath.id() == direct.widget.id():
-            # Kill follow task
-            taskMgr.removeTasksNamed('followSelectedNodePath')
-            # Record relationship between selected nodes and widget
-            direct.selected.getWrtAll()                    
         # Update task
         # Update task
         taskMgr.spawnMethodNamed(self.updateTask, self.name + '-updateTask')
         taskMgr.spawnMethodNamed(self.updateTask, self.name + '-updateTask')
     
     
     def disable(self):
     def disable(self):
         taskMgr.removeTasksNamed(self.name + '-updateTask')
         taskMgr.removeTasksNamed(self.name + '-updateTask')
-        if self.nodePath.id() == direct.widget.id():
-            # Restart followSelectedNodePath task
-            direct.manipulationControl.spawnFollowSelectedNodePathTask()
+        # Ignore button events
         self.ignoreSwitchModeEvent()
         self.ignoreSwitchModeEvent()
         self.ignoreUprightCameraEvent()
         self.ignoreUprightCameraEvent()
 
 
     def destroy(self):
     def destroy(self):
         self.disable()
         self.disable()
-        self.ignore('selectedNodePath')
-        self.ignore('deselectNodePath')
         self.tempCS.removeNode()
         self.tempCS.removeNode()
 
 
     def addButtonEvents(self):
     def addButtonEvents(self):
@@ -105,26 +95,6 @@ class DirectJoybox(PandaObject):
     
     
     def setNodePath(self, nodePath):
     def setNodePath(self, nodePath):
         self.nodePath = nodePath
         self.nodePath = nodePath
-        if self.nodePath.id() == direct.widget.id():
-            # Kill follow task
-            taskMgr.removeTasksNamed('followSelectedNodePath')
-            # Record relationship between selected nodes and widget
-            direct.selected.getWrtAll()
-            # Watch for newly selected objects
-            self.accept('selectedNodePath', self.selectionHook)
-            # Watch for deselections
-            self.accept('deselectNodePath', self.selectionHook)
-        else:
-            self.ignore('selectedNodePath')
-            self.ignore('deselectNodePath')
-
-    def selectionHook(self, dnp):
-        if direct.selected.getSelectedAsList():
-            print 'enable'
-            self.enable()
-        else:
-            print 'disable'
-            self.disable()
 
 
     def getNodePath(self):
     def getNodePath(self):
         return self.nodePath
         return self.nodePath
@@ -146,16 +116,6 @@ class DirectJoybox(PandaObject):
     def updateTask(self, state):
     def updateTask(self, state):
         self.updateVals()
         self.updateVals()
         self.updateFunc()
         self.updateFunc()
-        if self.nodePath.id() == direct.widget.id():
-            if direct.manipulationControl.fSetCoa:
-                # Update coa based on current widget position
-                direct.selected.last.mCoa2Dnp.assign(
-                    direct.widget.getMat(direct.selected.last))
-                # Update wrt info
-                direct.selected.getWrtAll()                    
-            else:
-                # Move the objects with the widget
-                direct.selected.moveWrtWidgetAll()
         return Task.cont
         return Task.cont
     
     
     def updateVals(self):
     def updateVals(self):

+ 4 - 1
direct/src/particles/ForceGroup.py

@@ -71,7 +71,10 @@ class ForceGroup(DirectObject):
     # Utility functions 
     # Utility functions 
     def __getitem__(self, index):
     def __getitem__(self, index):
 	"""__getItem__(self, index)"""
 	"""__getItem__(self, index)"""
-        if (index < 0) | (index > self.node.getNumForces()):
+        numForces = self.node.getNumForces()
+        if numForces == 0:
+            raise IndexError
+        if ((index < 0) | (index >= self.node.getNumForces())):
             raise IndexError
             raise IndexError
 	return self.node.getForce(index)
 	return self.node.getForce(index)
 
 

+ 1 - 4
direct/src/tkpanels/Placer.py

@@ -4,7 +4,7 @@
 from PandaObject import *
 from PandaObject import *
 from Tkinter import *
 from Tkinter import *
 from AppShell import *
 from AppShell import *
-from DirectGeometry import relHpr
+from DirectGeometry import *
 import Pmw
 import Pmw
 import Dial
 import Dial
 import Floater
 import Floater
@@ -14,9 +14,6 @@ TODO:
 Task to monitor pose
 Task to monitor pose
 """
 """
 
 
-ZERO_VEC = Vec3(0)
-UNIT_VEC = Vec3(1)
-
 class Placer(AppShell):
 class Placer(AppShell):
     # Override class variables here
     # Override class variables here
     appname = 'Placer Panel'
     appname = 'Placer Panel'