Node

Methods

Methods Node класс представляет именованный элемент в 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Возвращает матрицу преобразования в мировом пространстве; pass 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}")

См. также

 Русский