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 | Valfritt namn för noden |
Alla nodattribut nedan är egenskaper; åtkomst utan parenteser.
| ————————- | ————————- | ————————————————————————————————————————————– |
| name | str | Läsbar identifierare för noden |
| entity | Entity | None | Den primära entiteten som är kopplad till denna nod (t.ex., Mesh, Camera, Light). Genväg för det första elementet av entities. |
| entities | list[Entity] | Alla enheter som är fästa vid den här noden (skrivskyddad). En nod kan referera till mer än en enhet. |
| material | Material | None | Det primära materialet som tilldelats den här noden. |
| materials | list[Material] | Alla material som tilldelats den här noden (skrivskyddad). |
| child_nodes | list[Node] | Lista över barnnoder. Använd child_nodes: inte children |
| parent_node | Node | None | Omedelbar föräldranod i scenhierarkin |
| parent_nodes | list[Node] | Alla föräldranoder (ärvda från Entity; stöder instansering) |
| transform | Transform | Lokal transformation (översättning, rotation, skala) |
| global_transform | GlobalTransform | Världsrumstransformationsmatris |
| asset_info | AssetInfo | None | Tillgångsmetadata som är bifogade till den här noden, om några. |
| properties | PropertyCollection | Anpassade egenskaper som är bifogade till den här noden |
| —————————————————– | ——————– | ——————————————————————————————————- |
| create_child_node(name) | Node | Skapar och bifogar en ny barnnod med det angivna namnet |
| create_child_node(name, entity) | Node | Skapar en barnnod och tilldelar en entitet till den |
| add_child_node(node) | None | Lägger till en befintlig nod som ett barn till den här noden |
| get_child(name) | Optional[Node] | Hittar en direkt barnnod efter namn |
| add_entity(entity) | None | Bifogar en ytterligare entitet till den här noden |
| merge(node) | None | Slår samman en annan nods barn och entiteter i den här noden |
| evaluate_global_transform(with_geometric_transform) | Matrix4 | Returnerar transformmatrisen i världsrummet; skicka True för att inkludera geometriska förskjutningar |
| get_bounding_box() | BoundingBox | Beräknar den axeljusterade omgivningsboxen för noden i världsrummet |
| get_property(name) | Any | Hämtar ett egenskapsvärde efter namn |
| find_property(name) | Optional[Property] | Hittar en egenskap efter namn |
Skapa en scen, fäst ett mesh på en nod och traversera scengrafen:
from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4
scene = Scene()
mesh = Mesh()
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}")