open_toontown_panda3d/direct/src/extensions_native/NodePathCollection_extensio...

41 lines
1.3 KiB
Python

from extension_native_helpers import *
from libpanda import *
#####################################################################
# For iterating over children
def asList(self):
"""Converts a NodePathCollection into a list"""
if self.isEmpty():
return []
else:
npList = []
for nodePathIndex in range(self.getNumPaths()):
npList.append(self.getPath(nodePathIndex))
return npList
Dtool_funcToMethod(asList, NodePathCollection)
del asList
#####################################################################3333
def getTightBounds(self):
from pandac.PandaModules import Point3
if self.getNumPaths() == 0:
return (Point3.Point3(0), Point3.Point3(0))
v1, v2 = self.getPath(0).getTightBounds()
for i in range(1, self.getNumPaths()):
v1x, v2x = self.getPath(i).getTightBounds()
v1 = Point3.Point3(min(v1[0], v1x[0]),
min(v1[1], v1x[1]),
min(v1[2], v1x[2]))
v2 = Point3.Point3(max(v2[0], v2x[0]),
max(v2[1], v2x[1]),
max(v2[2], v2x[2]))
return v1, v2
Dtool_funcToMethod(getTightBounds, NodePathCollection)
del getTightBounds
#####################################################################3333