*** empty log message ***

This commit is contained in:
Joe Shochet 2001-02-19 07:24:13 +00:00
parent 332c571601
commit a6cdf3d9e6
4 changed files with 73 additions and 27 deletions

View File

@ -51,18 +51,18 @@ class ScrollingLabel(PandaObject.PandaObject):
self.frame.makeWideAsWidest()
# create the scroll buttons
self.leftButton = Button.Button(self.name + "-left", " < ")
self.leftButton.getGuiItem().setDownRolloverEvent(self.name + "-left")
self.leftButton.getGuiItem().setUpRolloverEvent(self.name + "-rollover")
self.leftButton = Button.Button(self.eventName + "-left", " < ")
self.leftButton.getGuiItem().setDownRolloverEvent(self.eventName + "-left")
self.leftButton.getGuiItem().setUpRolloverEvent(self.eventName + "-rollover")
self.frame.addItem(self.leftButton)
self.frame.packItem(self.leftButton, GuiFrame.GuiFrame.UNDER,
self.title)
self.frame.packItem(self.leftButton, GuiFrame.GuiFrame.LEFT,
self.title)
self.rightButton = Button.Button(self.name + "-right", " > ")
self.rightButton.getGuiItem().setDownRolloverEvent(self.name +
self.rightButton = Button.Button(self.eventName + "-right", " > ")
self.rightButton.getGuiItem().setDownRolloverEvent(self.eventName +
"-right")
self.rightButton.getGuiItem().setUpRolloverEvent(self.name + "-rollover")
self.rightButton.getGuiItem().setUpRolloverEvent(self.eventName + "-rollover")
self.frame.addItem(self.rightButton)
self.frame.packItem(self.rightButton, GuiFrame.GuiFrame.UNDER,
self.title)
@ -70,8 +70,8 @@ class ScrollingLabel(PandaObject.PandaObject):
self.title)
# listen for the scroll buttons
#self.accept(self.name + "-left", self.handleLeftButton)
#self.accept(self.name + "-right", self.handleRightButton)
#self.accept(self.eventName + "-left", self.handleLeftButton)
#self.accept(self.eventName + "-right", self.handleRightButton)
# listen for keyboard hits
#self.setKeyFocus(0)
@ -87,9 +87,9 @@ class ScrollingLabel(PandaObject.PandaObject):
"""cleanup(self)
"""
# ignore events
self.ignore(self.name + "-left")
self.ignore(self.name + "-right")
self.ignore(self.name + "-rollover")
self.ignore(self.eventName + "-left")
self.ignore(self.eventName + "-right")
self.ignore(self.eventName + "-rollover")
self.setKeyFocus(0)
# remove gui items
@ -160,8 +160,8 @@ class ScrollingLabel(PandaObject.PandaObject):
def manage(self):
# listen for the scroll buttons
self.accept(self.name + "-left", self.handleLeftButton)
self.accept(self.name + "-right", self.handleRightButton)
self.accept(self.eventName + "-left", self.handleLeftButton)
self.accept(self.eventName + "-right", self.handleRightButton)
self.frame.manage()
self.setKeyFocus(0)
@ -174,9 +174,9 @@ class ScrollingLabel(PandaObject.PandaObject):
self.ignore("right-up")
# ignore events
self.ignore(self.name + "-left")
self.ignore(self.name + "-right")
self.ignore(self.name + "-rollover")
self.ignore(self.eventName + "-left")
self.ignore(self.eventName + "-right")
self.ignore(self.eventName + "-rollover")
self.setKeyFocus(0)
self.frame.unmanage()

View File

@ -49,10 +49,9 @@ class Loader:
then attempt to load it from disk. Return a nodepath to
a copy of the model if successful or None otherwise"""
Loader.notify.info("Loading model copy: %s" % (modelPath))
# utilize load once goodness
nodePath = self.loadModelOnce(modelPath)
if (nodePath != None):
return (nodePath.copyTo(self.base.hidden))
node = ModelPool.loadModel(modelPath)
if (node != None):
return (NodePath(node).copyTo(self.base.hidden))
else:
return None

View File

@ -1,5 +1,6 @@
import types
import re
import math
def ifAbsentPut(dict, key, newValue):
"""
@ -165,3 +166,17 @@ def intersection(a, b):
if (i not in d):
d.append(i)
return d
def reduceAngle(deg):
"""
Reduces an angle (in degrees) to a value between -180. and 180.
"""
return (math.fmod((deg + 180.0), 360.0) - 180.0)
def shortestDestAngle(src, dest):
"""
Returns a version of dest that is numerically closest to src. It is
assumed that src is between -180. and 180.
Example: (shortest-dest-angle 50. -170.) --> 190.
"""
return (src + (reduceAngle(reduceAngle(dest) - reduceAngle(src))))

View File

@ -33,6 +33,10 @@ class Task:
self.__call__ = callback
self._priority = priority
self.uponDeath = None
self.dt = 0.0
self.maxDt = 0.0
self.avgDt = 0.0
self.runningTotal = 0.0
def getPriority(self):
return self._priority
@ -322,7 +326,6 @@ class TaskManager:
standard shell globbing characters like *, ?, and [].
"""
TaskManager.notify.debug('removing tasks matching: ' + taskPattern)
removedTasks = []
@ -343,13 +346,28 @@ class TaskManager:
self.currentTime, self.currentFrame = getTimeFrame()
for task in self.taskList:
task.setCurrentTimeFrame(self.currentTime, self.currentFrame)
# Run the task and check the return value
# Record the dt
startTime = globalClock.getTime()
startTime = time.clock()
ret = task(task)
endTime = globalClock.getTime()
endTime = time.clock()
# Record the dt
dt = endTime - startTime
task.dt = dt
# See if this is the new max
if dt > task.maxDt:
task.maxDt = dt
# Record the running total of all dts so we can compute an average
task.runningTotal = task.runningTotal + dt
if (task.frame > 0):
task.avgDt = (task.runningTotal / task.frame)
else:
task.avgDt = 0
# See if the task is done
if (ret == cont):
continue
elif (ret == done):
@ -403,19 +421,33 @@ class TaskManager:
return 0
def __repr__(self):
import fpformat
taskNameWidth = 32
dtWidth = 6
dtWidth = 7
priorityWidth = 10
totalDt = 0
totalAvgDt = 0
str = ('taskList'.ljust(taskNameWidth)
+ 'dt(ms)'.rjust(dtWidth)
+ 'avg'.rjust(dtWidth)
+ 'max'.rjust(dtWidth)
+ 'priority'.rjust(priorityWidth)
+ '\n')
str = str + '------------------------------------------------\n'
str = str + '---------------------------------------------------------------\n'
for task in self.taskList:
totalDt = totalDt + task.dt
totalAvgDt = totalAvgDt + task.avgDt
str = str + (task.name.ljust(taskNameWidth)
+ `int(round(task.dt * 1000))`.rjust(dtWidth)
+ fpformat.fix(task.dt*1000, 2).rjust(dtWidth)
+ fpformat.fix(task.avgDt*1000, 2).rjust(dtWidth)
+ fpformat.fix(task.maxDt*1000, 2).rjust(dtWidth)
+ `task.getPriority()`.rjust(priorityWidth)
+ '\n')
str = str + '---------------------------------------------------------------\n'
str = str + ('total'.ljust(taskNameWidth)
+ fpformat.fix(totalDt*1000, 2).rjust(dtWidth)
+ fpformat.fix(totalAvgDt*1000, 2).rjust(dtWidth)
+ '\n')
return str