mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
first rev
This commit is contained in:
parent
89278bf460
commit
2e9142fe53
20
direct/src/showbase/LeakDetectors.py
Executable file
20
direct/src/showbase/LeakDetectors.py
Executable file
@ -0,0 +1,20 @@
|
||||
# objects that report different types of leaks to the ContainerLeakDetector
|
||||
|
||||
class SceneGraphLeakDetector:
|
||||
# is a scene graph leaking nodes?
|
||||
def __init__(self, render):
|
||||
self._render = render
|
||||
if config.GetBool('leak-scene-graph', 0):
|
||||
self._leakTaskName = 'leakNodes-%s' % serialNum()
|
||||
self._leakNode()
|
||||
def destroy(self):
|
||||
if hasattr(self, '_leakTaskName'):
|
||||
taskMgr.remove(self._leakTaskName)
|
||||
del self._render
|
||||
def __len__(self):
|
||||
return self._render.getNumDescendants()
|
||||
def __repr__(self):
|
||||
return 'SceneGraphLeakDetector(%s)' % self._render
|
||||
def _leakNode(self, task=None):
|
||||
self._render.attachNewNode('leakNode-%s' % serialNum())
|
||||
taskMgr.doMethodLater(10, self._leakNode, self._leakTaskName)
|
Loading…
x
Reference in New Issue
Block a user