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}")

Se även

 Svenska