Node
Methods
Methods Node la classe representa un element amb nom al gràfic de escena Aspose.3D. Cada node pot contenir un Entity (com ara un Mesh, Camera, o Light), manté relacions pare‑fill amb altres nodes i porta una transformació local. Els nodes són la forma principal d’organitzar objectes 3D en una jerarquia d’escena.
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 El constructor inicialitza un node amb un nom opcional.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nom opcional per al node |
Methods
Tots els atributs del node a continuació són propietats; accediu-hi sense parèntesis.
| Methods | Methods | Methods |
|---|---|---|
name | str | Identificador llegible per a humans del node |
entity | `Entity | None` |
entities | list[Entity] | Totes les entitats adjuntes a aquest node (només lectura). Un node pot referenciar més d’una entitat. |
material | `Material | None` |
materials | list[Material] | Tots els materials assignats a aquest node (només lectura). |
child_nodes | list[Node] | Llista de nodes fills. Utilitzeu child_nodes: no children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Tots els nodes pares (heretats de Entity; admet instanciació) |
visible | bool | Methods False, el node i el seu subarbre estan ocults en visualitzadors que respecten la visibilitat. |
excluded | bool | Methods True, aquest node s’exclou del renderitzat |
transform | Transform | Transformació local (traslació, rotació, escala) |
global_transform | GlobalTransform | Matriu de transformació en l’espai mundial |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Propietats personalitzades adjuntes a aquest node |
Methods
| Methods | Tipus de retorn | Methods |
|---|---|---|
create_child_node(name) | Node | Crea i adjunta un node fill nou amb el nom indicat |
create_child_node(name, entity) | Node | Crea un node fill i li assigna una entitat |
add_child_node(node) | None | Afegeix un node existent com a fill d’aquest node |
get_child(name) | Optional[Node] | Troba un node fill directe per nom |
add_entity(entity) | None | Adjunta una entitat addicional a aquest node |
merge(node) | None | Fusiona els fills i les entitats d’un altre node en aquest node |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Retorna la matriu de transformació en l’espai mundial; passa True per incloure desplaçaments geomètrics |
get_bounding_box() | BoundingBox | Calcula la caixa delimitadora alineada amb els eixos del node en l’espai mundial |
get_property(name) | Any | Obté el valor d’una propietat per nom |
find_property(name) | Optional[Property] | Troba una propietat per nom |
Methods
Creeu una escena, adjunteu un mesh a un node i recorreu el gràfic de escena:
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}")