Node
Methods
Methods Node class representerer et navngitt element i Aspose.3D scene graph. Hver node kan holde én Entity (som en Mesh, Camera, eller Light), opprettholder foreldre‑barn‑relasjoner med andre noder, og bærer en lokal transform. Noder er den primære måten å organisere 3D‑objekter i et scenehierarki på.
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)Methods
Methods Node konstruktøren initialiserer en node med et valgfritt navn.
| Methods | Methods | Methods |
|---|---|---|
name | str | Valgfritt navn for noden |
Methods
Alle node-attributter nedenfor er egenskaper; få tilgang til dem uten parenteser.
| Methods | Methods | Methods |
|---|---|---|
name | str | Menneske‑lesbar identifikator for noden |
entity | `Entity | None` |
entities | list[Entity] | Alle enheter knyttet til denne noden (kun lesetilgang). En node kan referere til mer enn én enhet. |
material | `Material | None` |
materials | list[Material] | Alle materialer tilordnet denne noden (kun lesetilgang). |
child_nodes | list[Node] | Liste over undernoder. Bruk child_nodes: ikke children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Alle overordnede noder (arvet fra Entity; støtter instansering) |
visible | bool | Methods False, noden og dens undertrær er skjult i visere som respekterer synlighet. |
excluded | bool | Methods True, denne noden er ekskludert fra rendering |
transform | Transform | Lokal transformasjon (translasjon, rotasjon, skalering) |
global_transform | GlobalTransform | Verdensrom-transformasjonsmatrise |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Egendefinerte egenskaper knyttet til denne noden |
Methods
| Methods | Returtype | Methods |
|---|---|---|
create_child_node(name) | Node | Oppretter og knytter en ny undernode med det gitte navnet |
create_child_node(name, entity) | Node | Oppretter en undernode og tilordner en enhet til den |
add_child_node(node) | None | Legger til en eksisterende node som undernode til denne noden |
get_child(name) | Optional[Node] | Finner en direkte undernode etter navn |
add_entity(entity) | None | Knytter en ekstra enhet til denne noden |
merge(node) | None | Fletter en annen nodes barn og enheter inn i denne noden |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Returnerer verdensrom-transformasjonsmatrisen; pass True for å inkludere geometriske forskyvninger |
get_bounding_box() | BoundingBox | Beregn den aksejusterte begrensningsboksen til noden i verdensrommet |
get_property(name) | Any | Henter en egenskapsverdi etter navn |
find_property(name) | Optional[Property] | Finner en egenskap etter navn |
Methods
Opprett en scene, fest en mesh til en node, og traverser scenegrafen:
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}")