Node
Methods
Methods Node klasa reprezentuje nazwany element w grafie sceny Aspose.3D. Każdy węzeł może zawierać jeden Entity (takim jak a Mesh, Camera, lub Light), utrzymuje relacje rodzic‑dziecko z innymi węzłami i posiada lokalną transformację. Węzły są podstawowym sposobem organizacji obiektów 3D w hierarchii sceny.
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 konstruktor inicjalizuje węzeł z opcjonalną nazwą.
| Methods | Methods | Methods |
|---|---|---|
name | str | Opcjonalna nazwa węzła |
Methods
Wszystkie poniższe atrybuty węzła są właściwości; uzyskaj do nich dostęp bez nawiasów.
| Methods | Methods | Methods |
|---|---|---|
name | str | Czytelny dla człowieka identyfikator węzła |
entity | `Entity | None` |
entities | list[Entity] | Wszystkie podmioty (entity) podłączone do tego węzła (tylko do odczytu). Węzeł może odwoływać się do więcej niż jednego podmiotu. |
material | `Material | None` |
materials | list[Material] | Wszystkie materiały przypisane do tego węzła (tylko do odczytu). |
child_nodes | list[Node] | Lista węzłów potomnych. Użyj child_nodes: nie children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Wszystkie węzły nadrzędne (dziedziczone z Entity; obsługuje instancjonowanie) |
visible | bool | Methods False, węzeł i jego poddrzewo są ukryte w przeglądarkach respektujących widoczność. |
excluded | bool | Methods True, ten węzeł jest wykluczony z renderowania |
transform | Transform | Lokalna transformacja (przesunięcie, obrót, skalowanie) |
global_transform | GlobalTransform | Macierz transformacji w przestrzeni światowej |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Niestandardowe właściwości dołączone do tego węzła |
Methods
| Methods | Typ zwracany | Methods |
|---|---|---|
create_child_node(name) | Node | Tworzy i dołącza nowy węzeł potomny o podanej nazwie |
create_child_node(name, entity) | Node | Tworzy węzeł potomny i przypisuje do niego encję |
add_child_node(node) | None | Dodaje istniejący węzeł jako potomka tego węzła |
get_child(name) | Optional[Node] | Znajduje bezpośredni węzeł potomny po nazwie |
add_entity(entity) | None | Dołącza dodatkową encję do tego węzła |
merge(node) | None | Łączy potomków i encje innego węzła z tym węzłem |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Zwraca macierz przekształcenia w przestrzeni świata; przekaż True aby uwzględnić przesunięcia geometryczne |
get_bounding_box() | BoundingBox | Oblicza axis-aligned bounding box węzła w przestrzeni świata |
get_property(name) | Any | Pobiera wartość właściwości po nazwie |
find_property(name) | Optional[Property] | Znajduje właściwość po nazwie |
Methods
Utwórz scenę, podłącz siatkę do węzła i przeglądaj graf sceny:
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}")