mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -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()
|
self.frame.makeWideAsWidest()
|
||||||
|
|
||||||
# create the scroll buttons
|
# create the scroll buttons
|
||||||
self.leftButton = Button.Button(self.name + "-left", " < ")
|
self.leftButton = Button.Button(self.eventName + "-left", " < ")
|
||||||
self.leftButton.getGuiItem().setDownRolloverEvent(self.name + "-left")
|
self.leftButton.getGuiItem().setDownRolloverEvent(self.eventName + "-left")
|
||||||
self.leftButton.getGuiItem().setUpRolloverEvent(self.name + "-rollover")
|
self.leftButton.getGuiItem().setUpRolloverEvent(self.eventName + "-rollover")
|
||||||
self.frame.addItem(self.leftButton)
|
self.frame.addItem(self.leftButton)
|
||||||
self.frame.packItem(self.leftButton, GuiFrame.GuiFrame.UNDER,
|
self.frame.packItem(self.leftButton, GuiFrame.GuiFrame.UNDER,
|
||||||
self.title)
|
self.title)
|
||||||
self.frame.packItem(self.leftButton, GuiFrame.GuiFrame.LEFT,
|
self.frame.packItem(self.leftButton, GuiFrame.GuiFrame.LEFT,
|
||||||
self.title)
|
self.title)
|
||||||
self.rightButton = Button.Button(self.name + "-right", " > ")
|
self.rightButton = Button.Button(self.eventName + "-right", " > ")
|
||||||
self.rightButton.getGuiItem().setDownRolloverEvent(self.name +
|
self.rightButton.getGuiItem().setDownRolloverEvent(self.eventName +
|
||||||
"-right")
|
"-right")
|
||||||
self.rightButton.getGuiItem().setUpRolloverEvent(self.name + "-rollover")
|
self.rightButton.getGuiItem().setUpRolloverEvent(self.eventName + "-rollover")
|
||||||
self.frame.addItem(self.rightButton)
|
self.frame.addItem(self.rightButton)
|
||||||
self.frame.packItem(self.rightButton, GuiFrame.GuiFrame.UNDER,
|
self.frame.packItem(self.rightButton, GuiFrame.GuiFrame.UNDER,
|
||||||
self.title)
|
self.title)
|
||||||
@ -70,8 +70,8 @@ class ScrollingLabel(PandaObject.PandaObject):
|
|||||||
self.title)
|
self.title)
|
||||||
|
|
||||||
# listen for the scroll buttons
|
# listen for the scroll buttons
|
||||||
#self.accept(self.name + "-left", self.handleLeftButton)
|
#self.accept(self.eventName + "-left", self.handleLeftButton)
|
||||||
#self.accept(self.name + "-right", self.handleRightButton)
|
#self.accept(self.eventName + "-right", self.handleRightButton)
|
||||||
|
|
||||||
# listen for keyboard hits
|
# listen for keyboard hits
|
||||||
#self.setKeyFocus(0)
|
#self.setKeyFocus(0)
|
||||||
@ -87,9 +87,9 @@ class ScrollingLabel(PandaObject.PandaObject):
|
|||||||
"""cleanup(self)
|
"""cleanup(self)
|
||||||
"""
|
"""
|
||||||
# ignore events
|
# ignore events
|
||||||
self.ignore(self.name + "-left")
|
self.ignore(self.eventName + "-left")
|
||||||
self.ignore(self.name + "-right")
|
self.ignore(self.eventName + "-right")
|
||||||
self.ignore(self.name + "-rollover")
|
self.ignore(self.eventName + "-rollover")
|
||||||
self.setKeyFocus(0)
|
self.setKeyFocus(0)
|
||||||
|
|
||||||
# remove gui items
|
# remove gui items
|
||||||
@ -160,8 +160,8 @@ class ScrollingLabel(PandaObject.PandaObject):
|
|||||||
|
|
||||||
def manage(self):
|
def manage(self):
|
||||||
# listen for the scroll buttons
|
# listen for the scroll buttons
|
||||||
self.accept(self.name + "-left", self.handleLeftButton)
|
self.accept(self.eventName + "-left", self.handleLeftButton)
|
||||||
self.accept(self.name + "-right", self.handleRightButton)
|
self.accept(self.eventName + "-right", self.handleRightButton)
|
||||||
|
|
||||||
self.frame.manage()
|
self.frame.manage()
|
||||||
self.setKeyFocus(0)
|
self.setKeyFocus(0)
|
||||||
@ -174,9 +174,9 @@ class ScrollingLabel(PandaObject.PandaObject):
|
|||||||
self.ignore("right-up")
|
self.ignore("right-up")
|
||||||
|
|
||||||
# ignore events
|
# ignore events
|
||||||
self.ignore(self.name + "-left")
|
self.ignore(self.eventName + "-left")
|
||||||
self.ignore(self.name + "-right")
|
self.ignore(self.eventName + "-right")
|
||||||
self.ignore(self.name + "-rollover")
|
self.ignore(self.eventName + "-rollover")
|
||||||
self.setKeyFocus(0)
|
self.setKeyFocus(0)
|
||||||
|
|
||||||
self.frame.unmanage()
|
self.frame.unmanage()
|
||||||
|
@ -49,10 +49,9 @@ class Loader:
|
|||||||
then attempt to load it from disk. Return a nodepath to
|
then attempt to load it from disk. Return a nodepath to
|
||||||
a copy of the model if successful or None otherwise"""
|
a copy of the model if successful or None otherwise"""
|
||||||
Loader.notify.info("Loading model copy: %s" % (modelPath))
|
Loader.notify.info("Loading model copy: %s" % (modelPath))
|
||||||
# utilize load once goodness
|
node = ModelPool.loadModel(modelPath)
|
||||||
nodePath = self.loadModelOnce(modelPath)
|
if (node != None):
|
||||||
if (nodePath != None):
|
return (NodePath(node).copyTo(self.base.hidden))
|
||||||
return (nodePath.copyTo(self.base.hidden))
|
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import types
|
import types
|
||||||
import re
|
import re
|
||||||
|
import math
|
||||||
|
|
||||||
def ifAbsentPut(dict, key, newValue):
|
def ifAbsentPut(dict, key, newValue):
|
||||||
"""
|
"""
|
||||||
@ -165,3 +166,17 @@ def intersection(a, b):
|
|||||||
if (i not in d):
|
if (i not in d):
|
||||||
d.append(i)
|
d.append(i)
|
||||||
return d
|
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.__call__ = callback
|
||||||
self._priority = priority
|
self._priority = priority
|
||||||
self.uponDeath = None
|
self.uponDeath = None
|
||||||
|
self.dt = 0.0
|
||||||
|
self.maxDt = 0.0
|
||||||
|
self.avgDt = 0.0
|
||||||
|
self.runningTotal = 0.0
|
||||||
|
|
||||||
def getPriority(self):
|
def getPriority(self):
|
||||||
return self._priority
|
return self._priority
|
||||||
@ -322,7 +326,6 @@ class TaskManager:
|
|||||||
standard shell globbing characters like *, ?, and [].
|
standard shell globbing characters like *, ?, and [].
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
TaskManager.notify.debug('removing tasks matching: ' + taskPattern)
|
TaskManager.notify.debug('removing tasks matching: ' + taskPattern)
|
||||||
removedTasks = []
|
removedTasks = []
|
||||||
|
|
||||||
@ -343,13 +346,28 @@ class TaskManager:
|
|||||||
self.currentTime, self.currentFrame = getTimeFrame()
|
self.currentTime, self.currentFrame = getTimeFrame()
|
||||||
for task in self.taskList:
|
for task in self.taskList:
|
||||||
task.setCurrentTimeFrame(self.currentTime, self.currentFrame)
|
task.setCurrentTimeFrame(self.currentTime, self.currentFrame)
|
||||||
|
|
||||||
# Run the task and check the return value
|
# Run the task and check the return value
|
||||||
# Record the dt
|
startTime = time.clock()
|
||||||
startTime = globalClock.getTime()
|
|
||||||
ret = task(task)
|
ret = task(task)
|
||||||
endTime = globalClock.getTime()
|
endTime = time.clock()
|
||||||
|
|
||||||
|
# Record the dt
|
||||||
dt = endTime - startTime
|
dt = endTime - startTime
|
||||||
task.dt = dt
|
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):
|
if (ret == cont):
|
||||||
continue
|
continue
|
||||||
elif (ret == done):
|
elif (ret == done):
|
||||||
@ -403,19 +421,33 @@ class TaskManager:
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
import fpformat
|
||||||
taskNameWidth = 32
|
taskNameWidth = 32
|
||||||
dtWidth = 6
|
dtWidth = 7
|
||||||
priorityWidth = 10
|
priorityWidth = 10
|
||||||
|
totalDt = 0
|
||||||
|
totalAvgDt = 0
|
||||||
str = ('taskList'.ljust(taskNameWidth)
|
str = ('taskList'.ljust(taskNameWidth)
|
||||||
+ 'dt(ms)'.rjust(dtWidth)
|
+ 'dt(ms)'.rjust(dtWidth)
|
||||||
|
+ 'avg'.rjust(dtWidth)
|
||||||
|
+ 'max'.rjust(dtWidth)
|
||||||
+ 'priority'.rjust(priorityWidth)
|
+ 'priority'.rjust(priorityWidth)
|
||||||
+ '\n')
|
+ '\n')
|
||||||
str = str + '------------------------------------------------\n'
|
str = str + '---------------------------------------------------------------\n'
|
||||||
for task in self.taskList:
|
for task in self.taskList:
|
||||||
|
totalDt = totalDt + task.dt
|
||||||
|
totalAvgDt = totalAvgDt + task.avgDt
|
||||||
str = str + (task.name.ljust(taskNameWidth)
|
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)
|
+ `task.getPriority()`.rjust(priorityWidth)
|
||||||
+ '\n')
|
+ '\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
|
return str
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user