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.

MethodsMethodsMethods
namestrOptionaler Name für den Knoten

Methods

Alle untenstehenden Knotenattribute sind Eigenschaften; greife darauf zu, ohne Klammern zu verwenden.

MethodsMethodsMethods
namestrMenschlich lesbarer Bezeichner für den Knoten
entity`EntityNone`
entitieslist[Entity]Alle an diesem Knoten angehängten Entitäten (schreibgeschützt). Ein Knoten kann mehr als eine Entität referenzieren.
material`MaterialNone`
materialslist[Material]Alle diesem Knoten zugewiesenen Materialien (schreibgeschützt).
child_nodeslist[Node]Liste von Kindknoten. Verwenden child_nodes:nicht children
parent_node`NodeNone`
parent_nodeslist[Node]Alle übergeordneten Knoten (geerbt von Entity; unterstützt Instanzierung)
visibleboolMethods False, der Knoten und sein Unterbaum werden in Viewern, die Sichtbarkeit respektieren, ausgeblendet.
excludedboolMethods True, dieser Knoten wird vom Rendering ausgeschlossen
transformTransformLokale Transformation (Translation, Rotation, Skalierung)
global_transformGlobalTransformWorld-Space-Transformationsmatrix
asset_info`AssetInfoNone`
propertiesPropertyCollectionBenutzerdefinierte Eigenschaften, die an diesem Knoten angehängt sind

Methods

MethodsRückgabetypMethods
create_child_node(name)NodeErstellt und hängt einen neuen Kindknoten mit dem angegebenen Namen an
create_child_node(name, entity)NodeErstellt einen Kindknoten und weist ihm eine Entität zu
add_child_node(node)NoneFügt einen bestehenden Knoten als Kind dieses Knotens hinzu
get_child(name)Optional[Node]Findet einen direkten Kindknoten anhand des Namens
add_entity(entity)NoneHängt eine zusätzliche Entität an diesen Knoten an
merge(node)NoneFührt die Kinder und Entitäten eines anderen Knotens in diesen Knoten zusammen
evaluate_global_transform(with_geometric_transform)Matrix4Gibt die Transformationsmatrix im Weltkoordinatensystem zurück; übergeben True um geometrische Offsets einzubeziehen
get_bounding_box()BoundingBoxBerechnet die achsenorientierte Begrenzungsbox des Knotens im Weltkoordinatensystem
get_property(name)AnyErmittelt 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}")

Siehe auch

 Deutsch