Node
Methods
Methods Node Klasse repräsentiert ein benanntes Element im Aspose.3D‑Szenengraphen. Jeder Knoten kann eines halten Entity (wie ein Mesh, Camera, oder Light), pflegt Eltern‑Kind‑Beziehungen zu anderen Knoten und trägt eine lokale Transformation. Knoten sind die primäre Methode, 3D‑Objekte in einer Szenenhierarchie zu organisieren.
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 Der Konstruktor initialisiert einen Knoten mit einem optionalen Namen.
| Methods | Methods | Methods |
|---|---|---|
name | str | Optionaler Name für den Knoten |
Methods
Alle untenstehenden Knotenattribute sind Eigenschaften; greife darauf zu, ohne Klammern zu verwenden.
| Methods | Methods | Methods |
|---|---|---|
name | str | Menschlich lesbarer Bezeichner für den Knoten |
entity | `Entity | None` |
entities | list[Entity] | Alle an diesem Knoten angehängten Entitäten (schreibgeschützt). Ein Knoten kann mehr als eine Entität referenzieren. |
material | `Material | None` |
materials | list[Material] | Alle diesem Knoten zugewiesenen Materialien (schreibgeschützt). |
child_nodes | list[Node] | Liste von Kindknoten. Verwenden child_nodes:nicht children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Alle übergeordneten Knoten (geerbt von Entity; unterstützt Instanzierung) |
visible | bool | Methods False, der Knoten und sein Unterbaum werden in Viewern, die Sichtbarkeit respektieren, ausgeblendet. |
excluded | bool | Methods True, dieser Knoten wird vom Rendering ausgeschlossen |
transform | Transform | Lokale Transformation (Translation, Rotation, Skalierung) |
global_transform | GlobalTransform | World-Space-Transformationsmatrix |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Benutzerdefinierte Eigenschaften, die an diesem Knoten angehängt sind |
Methods
| Methods | Rückgabetyp | Methods |
|---|---|---|
create_child_node(name) | Node | Erstellt und hängt einen neuen Kindknoten mit dem angegebenen Namen an |
create_child_node(name, entity) | Node | Erstellt einen Kindknoten und weist ihm eine Entität zu |
add_child_node(node) | None | Fügt einen bestehenden Knoten als Kind dieses Knotens hinzu |
get_child(name) | Optional[Node] | Findet einen direkten Kindknoten anhand des Namens |
add_entity(entity) | None | Hängt eine zusätzliche Entität an diesen Knoten an |
merge(node) | None | Führt die Kinder und Entitäten eines anderen Knotens in diesen Knoten zusammen |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Gibt die Transformationsmatrix im Weltkoordinatensystem zurück; übergeben True um geometrische Offsets einzubeziehen |
get_bounding_box() | BoundingBox | Berechnet die achsenorientierte Begrenzungsbox des Knotens im Weltkoordinatensystem |
get_property(name) | Any | Ermittelt einen Eigenschaftswert nach Namen |
find_property(name) | Optional[Property] | Findet eine Eigenschaft nach Namen |
Methods
Erstelle eine Szene, hänge ein Mesh an einen Knoten an und durchlaufe den Szenengraphen:
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}")