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 конструктор ініціалізує вузол з необов’язковим іменем.

MethodsMethodsMethods
namestrНеобов’язкове ім’я для вузла

Methods

Усі атрибути вузла нижче є властивостями; доступ до них без дужок.

MethodsMethodsMethods
namestrЛюдсько-читабельний ідентифікатор вузла
entity`EntityNone`
entitieslist[Entity]Усі сутності, прикріплені до цього вузла (тільки для читання). Вузол може посилатися на більше ніж одну сутність.
material`MaterialNone`
materialslist[Material]Усі матеріали, призначені цьому вузлу (тільки для читання).
child_nodeslist[Node]Список дочірніх вузлів. Використовуйте child_nodes:не children
parent_node`NodeNone`
parent_nodeslist[Node]Всі батьківські вузли (успадковані від Entity; підтримує інстанціювання)
visibleboolMethods False, вузол і його піддерево приховані у переглядачах, які дотримуються видимості.
excludedboolMethods True, цей вузол виключений з рендерингу
transformTransformЛокальне перетворення (трансляція, обертання, масштаб)
global_transformGlobalTransformМатриця перетворення у світовому просторі
asset_info`AssetInfoNone`
propertiesPropertyCollectionКористувацькі властивості, прикріплені до цього вузла

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

Див. також

 Українська