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 | Обединява децата и entities на друг възел в този възел |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Връща трансформационната матрица в световното пространство; преминете True за включване на геометрични отмествания |
get_bounding_box() | BoundingBox | Изчислява осево-ориентираната ограничителна кутия на възела в световното пространство |
get_property(name) | Any | Получава стойност на свойство по име |
find_property(name) | Optional[Property] | Намира свойство по име |
Methods
Създайте сцена, прикрепете mesh към възел и обходете графа на сцената:
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}")