Node
Methods
Methods Node class представляє іменований елемент у графі сцени Aspose.3D. Кожен вузол може містити один Entity (наприклад, Mesh, Camera, або Light), підтримує відношення батько‑дитина з іншими вузлами та містить локальне перетворення. Вузли — це основний спосіб організації 3D‑об’єктів у ієрархії сцени.
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 конструктор ініціалізує вузол з необов’язковим іменем.
| Methods | Methods | Methods |
|---|---|---|
name | str | Необов’язкове ім’я для вузла |
Methods
Усі атрибути вузла нижче є властивостями; доступ до них без дужок.
| Methods | Methods | Methods |
|---|---|---|
name | str | Людсько-читабельний ідентифікатор вузла |
entity | `Entity | None` |
entities | list[Entity] | Усі сутності, прикріплені до цього вузла (тільки для читання). Вузол може посилатися на більше ніж одну сутність. |
material | `Material | None` |
materials | list[Material] | Усі матеріали, призначені цьому вузлу (тільки для читання). |
child_nodes | list[Node] | Список дочірніх вузлів. Використовуйте child_nodes:не children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Всі батьківські вузли (успадковані від Entity; підтримує інстанціювання) |
visible | bool | Methods False, вузол і його піддерево приховані у переглядачах, які дотримуються видимості. |
excluded | bool | Methods True, цей вузол виключений з рендерингу |
transform | Transform | Локальне перетворення (трансляція, обертання, масштаб) |
global_transform | GlobalTransform | Матриця перетворення у світовому просторі |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Користувацькі властивості, прикріплені до цього вузла |
Methods
| Methods | Тип повернення | Methods |
|---|---|---|
create_child_node(name) | Node | Створює та прикріплює новий дочірній вузол з вказаною назвою |
create_child_node(name, entity) | Node | Створює дочірній вузол і призначає йому сутність |
add_child_node(node) | None | Додає існуючий вузол як дочірній до цього вузла |
get_child(name) | Optional[Node] | Знаходить прямий дочірній вузол за назвою |
add_entity(entity) | None | Прикріплює додаткову сутність до цього вузла |
merge(node) | None | Об’єднує дочірні елементи та сутності іншого вузла в цей вузол |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Повертає матрицю трансформації у світовому просторі; передайте True для включення геометричних зсувів |
get_bounding_box() | BoundingBox | Обчислює орієнтовану по осях обмежувальну коробку вузла у світовому просторі |
get_property(name) | Any | Отримує значення властивості за ім’ям |
find_property(name) | Optional[Property] | Знаходить властивість за ім’ям |
Methods
Створіть сцену, приєднайте меш до вузла та пройдіться по графу сцени:
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}")