mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
fix update() some more
This commit is contained in:
parent
d7ec81bcea
commit
668610700d
@ -649,8 +649,7 @@ class Actor(DirectObject, NodePath):
|
||||
if center != None:
|
||||
self.__LODNode.node().setCenter(center)
|
||||
|
||||
def update(self, lod=0, animName=None, partName='modelRoot',
|
||||
lodName=None, force=False):
|
||||
def update(self, lod=0, partName=None, lodName=None, force=False):
|
||||
""" Updates all of the Actor's joints in the indicated LOD.
|
||||
The LOD may be specified by name, or by number, where 0 is the
|
||||
highest level of detail, 1 is the next highest, and so on.
|
||||
@ -667,14 +666,22 @@ class Actor(DirectObject, NodePath):
|
||||
lodNames = [lodName]
|
||||
|
||||
anyChanged = False
|
||||
if (lod < len(lodNames)):
|
||||
partBundle = self.getPartBundle(partName, lodNames[lod])
|
||||
if force:
|
||||
if partBundle.forceUpdate():
|
||||
anyChanged = True
|
||||
if lod < len(lodNames):
|
||||
lodName = lodNames[lod]
|
||||
if partName == None:
|
||||
partBundleDict = self.__partBundleDict[lodName]
|
||||
partNames = partBundleDict.keys()
|
||||
else:
|
||||
if partBundle.update():
|
||||
anyChanged = True
|
||||
partNames = [partName]
|
||||
|
||||
for partName in partNames:
|
||||
partBundle = self.getPartBundle(partName, lodNames[lod])
|
||||
if force:
|
||||
if partBundle.forceUpdate():
|
||||
anyChanged = True
|
||||
else:
|
||||
if partBundle.update():
|
||||
anyChanged = True
|
||||
else:
|
||||
self.notify.warning('update() - no lod: %d' % lod)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user