mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 18:03:56 -04:00
*** empty log message ***
This commit is contained in:
parent
332c571601
commit
a6cdf3d9e6
@ -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()
|
||||
|
@ -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
|
||||
|
||||
|
@ -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))))
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user