Node
from aspose.threed import Scene, Node
scene = Scene()
# Access the root node: root_node is a property on Scene
root = scene.root_node
# Create a child node
child = root.create_child_node("my_node")
# child_nodes is a property: access without parentheses
for node in root.child_nodes:
print(node.name)| ————————- | ————————- | ————————- |
| name | str | Opcionalno ime za čvor |
Sva atributa čvora ispod su svojstva; pristupajte im bez zagrada.
| ————————- | ————————- | —————————————————————————————————————– |
| name | str | Ljudski čitljiv identifikator za čvor |
| entity | Entity | None | Primarna entitet povezan sa ovim čvorom (npr., Mesh, Camera, Light). Prečica za prvi element od entities. |
| entities | list[Entity] | Svi entiteti povezani sa ovim čvorom (samo za čitanje). Čvor može da referiše na više od jednog entiteta. |
| material | Material | None | Primarni materijal dodeljen ovom čvoru. |
| materials | list[Material] | Svi materijali dodeljeni ovom čvoru (samo za čitanje). |
| child_nodes | list[Node] | Lista podčvorova. Koristite child_nodes:ne children |
| parent_node | Node | None | Neposredni roditeljski čvor u hijerarhiji scene |
| parent_nodes | list[Node] | Svi roditeljski čvorovi (nasleđeni iz Entity; podržava instanciranje) |
| transform | Transform | Lokalna transformacija (translacija, rotacija, skaliranje) |
| global_transform | GlobalTransform | Matrica transformacije u svetskom prostoru |
| asset_info | AssetInfo | None | Metapodaci sredstva prikačeni na ovaj čvor, ako postoje. |
| properties | PropertyCollection | Prilagođena svojstva prikačena na ovaj čvor |
| —————————————————– | ———————- | ———————————————————————————————— |
| create_child_node(name) | Node | Kreira i prikači novi podčvor sa zadatim imenom |
| create_child_node(name, entity) | Node | Kreira podčvor i dodeljuje mu entitet |
| add_child_node(node) | None | Dodaje postojeći čvor kao podčvor ovog čvora |
| get_child(name) | Optional[Node] | Pronalaže direktni podčvor po imenu |
| add_entity(entity) | None | Prikači dodatni entitet na ovaj čvor |
| merge(node) | None | Spaja decu i entitete drugog čvora u ovaj čvor |
| evaluate_global_transform(with_geometric_transform) | Matrix4 | Vraća matricu transformacije u svetskom prostoru; prosledi True da uključi geometrijske pomake |
| get_bounding_box() | BoundingBox | Izračunava axis-aligned bounding box čvora u svetskom prostoru |
| get_property(name) | Any | Dobija vrednost svojstva po imenu |
| find_property(name) | Optional[Property] | Pronalaže svojstvo po imenu |
Kreirajte scenu, prikačite mesh na čvor i pređite kroz graf scene:
from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4
scene = Scene()
mesh = Mesh()
# Use _control_points to mutate the backing list (control_points returns a copy)
mesh._control_points.append(Vector4(0, 0, 0, 1))
mesh._control_points.append(Vector4(1, 0, 0, 1))
mesh._control_points.append(Vector4(0.5, 1, 0, 1))
mesh.create_polygon(0, 1, 2)
# Attach mesh to a child node
node = scene.root_node.create_child_node("triangle", mesh)
# Traverse child_nodes (property, not a method)
for child in scene.root_node.child_nodes:
entity = child.entity
if entity is not None:
print(f"Node '{child.name}': {type(entity).__name__}")
# excluded is a property
print(f" Excluded: {entity.excluded}")