Node
Methods
Methods Node La clase representa un elemento con nombre en el grafo de escena Aspose.3D. Cada nodo puede contener uno Entity (como un Mesh, Camera, o Light), mantiene relaciones padre‑hijo con otros nodos y lleva una transformación local. Los nodos son la forma principal de organizar objetos 3D en una jerarquía de 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 inicializa un nodo con un nombre opcional.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nombre opcional para el nodo |
Methods
Todos los atributos del nodo a continuación son propiedades; accédelos sin paréntesis.
| Methods | Methods | Methods |
|---|---|---|
name | str | Identificador legible por humanos del nodo |
entity | `Entity | None` |
entities | list[Entity] | Todas las entidades adjuntas a este nodo (solo lectura). Un nodo puede referenciar más de una entidad. |
material | `Material | None` |
materials | list[Material] | Todos los materiales asignados a este nodo (solo lectura). |
child_nodes | list[Node] | Lista de nodos hijos. Use child_nodes:no children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Todos los nodos padre (heredados de Entity; admite instanciación) |
visible | bool | Methods False, el nodo y su subárbol están ocultos en los visores que respetan la visibilidad. |
excluded | bool | Methods True, este nodo está excluido del renderizado |
transform | Transform | Transformación local (traslación, rotación, escala) |
global_transform | GlobalTransform | Matriz de transformación en espacio mundial |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Propiedades personalizadas adjuntas a este nodo |
Methods
| Methods | Tipo de retorno | Methods |
|---|---|---|
create_child_node(name) | Node | Crea y adjunta un nuevo nodo hijo con el nombre proporcionado |
create_child_node(name, entity) | Node | Crea un nodo hijo y le asigna una entidad |
add_child_node(node) | None | Añade un nodo existente como hijo de este nodo |
get_child(name) | Optional[Node] | Busca un nodo hijo directo por nombre |
add_entity(entity) | None | Adjunta una entidad adicional a este nodo |
merge(node) | None | Fusiona los hijos y entidades de otro nodo en este nodo |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Devuelve la matriz de transformación del espacio mundial; pasa True para incluir desplazamientos geométricos |
get_bounding_box() | BoundingBox | Calcula la caja delimitadora alineada a los ejes del nodo en el espacio mundial |
get_property(name) | Any | Obtiene el valor de una propiedad por nombre |
find_property(name) | Optional[Property] | Busca una propiedad por nombre |
Methods
Crea una escena, adjunta un mesh a un nodo y recorre el grafo 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}")