mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-05 11:28:17 -04:00
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
|
|
"""
|
|
NodePathCollection-extensions module: contains methods to extend
|
|
functionality of the NodePathCollection class
|
|
"""
|
|
|
|
# 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
|
|
|
|
def getTightBounds(self):
|
|
from pandac 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
|