Node

Methods

Methods Node class rappresenta un elemento nominato nel grafo della scena Aspose.3D. Ogni nodo può contenere uno Entity (come ad esempio un Mesh, Camera, o Light), mantiene relazioni genitore-figlio con altri nodi e possiede una trasformazione locale. I nodi sono il modo principale per organizzare gli oggetti 3D in una gerarchia di scena.

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 Il costruttore inizializza un nodo con un nome opzionale.

MethodsMethodsMethods
namestrNome opzionale per il nodo

Methods

Tutti gli attributi del nodo qui sotto sono proprietà; accedili senza parentesi.

MethodsMethodsMethods
namestrIdentificatore leggibile dall’uomo per il nodo
entity`EntityNone`
entitieslist[Entity]Tutte le entità collegate a questo nodo (sola lettura). Un nodo può fare riferimento a più di un’entità.
material`MaterialNone`
materialslist[Material]Tutti i materiali assegnati a questo nodo (sola lettura).
child_nodeslist[Node]Elenco dei nodi figli. Usa child_nodes: non children
parent_node`NodeNone`
parent_nodeslist[Node]Tutti i nodi genitori (ereditati da Entity; supporta l’instancing)
visibleboolMethods False, il nodo e il suo sottoalbero sono nascosti nei visualizzatori che rispettano la visibilità.
excludedboolMethods True, questo nodo è escluso dal rendering
transformTransformTrasformazione locale (traslazione, rotazione, scala)
global_transformGlobalTransformMatrice di trasformazione nello spazio mondiale
asset_info`AssetInfoNone`
propertiesPropertyCollectionProprietà personalizzate allegate a questo nodo

Methods

MethodsTipo di ritornoMethods
create_child_node(name)NodeCrea e allega un nuovo nodo figlio con il nome fornito
create_child_node(name, entity)NodeCrea un nodo figlio e gli assegna un’entità
add_child_node(node)NoneAggiunge un nodo esistente come figlio di questo nodo
get_child(name)Optional[Node]Trova un nodo figlio diretto per nome
add_entity(entity)NoneAllega un’entità aggiuntiva a questo nodo
merge(node)NoneUnisce i figli e le entità di un altro nodo in questo nodo
evaluate_global_transform(with_geometric_transform)Matrix4Restituisce la matrice di trasformazione world-space; pass True per includere gli offset geometrici
get_bounding_box()BoundingBoxCalcola il bounding box allineato agli assi del nodo nello spazio world
get_property(name)AnyOttiene il valore di una proprietà per nome
find_property(name)Optional[Property]Trova una proprietà per nome

Methods

Crea una scena, collega una mesh a un nodo e attraversa il grafo della scena:

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

Vedi anche

 Italiano