Node
Properties
Properties Node kelas mewakili elemen bernama dalam graf adegan Aspose.3D. Setiap nod boleh memegang satu Entity (seperti a Mesh, Camera, atau Light), mengekalkan hubungan ibu-bapa-anak dengan nod lain, dan membawa transformasi tempatan. Nod adalah cara utama untuk menyusun objek 3D dalam hierarki adegan.
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)Properties
Properties Node pembina menginisialisasi nod dengan nama pilihan.
| Properties | Properties | Properties |
|---|---|---|
name | str | Nama pilihan untuk nod |
Properties
Semua atribut nod di bawah adalah ciri; akses mereka tanpa kurungan.
| Properties | Properties | Properties |
|---|---|---|
name | str | Pengenal yang boleh dibaca manusia untuk nod |
entity | `Entity | None` |
entities | list[Entity] | Semua entiti yang dilampirkan pada nod ini (baca-sahaja). Sebuah nod boleh merujuk lebih daripada satu entiti. |
material | `Material | None` |
materials | list[Material] | Semua bahan yang ditetapkan kepada nod ini (baca-sahaja). |
child_nodes | list[Node] | Senarai nod anak. Gunakan child_nodes: tidak children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Semua nod induk (warisan dari Entity; menyokong peninstansian) |
visible | bool | Properties False, nod dan subpokoknya disembunyikan dalam penampil yang menghormati kebolehlihatan. |
excluded | bool | Properties True, nod ini dikecualikan daripada rendering |
transform | Transform | Transformasi setempat (terjemahan, putaran, skala) |
global_transform | GlobalTransform | Matriks transformasi ruang-dunia |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Sifat khusus yang dilampirkan pada nod ini |
Properties
| Properties | Jenis Pulangan | Properties |
|---|---|---|
create_child_node(name) | Node | Mencipta dan melampirkan nod anak baru dengan nama yang diberikan |
create_child_node(name, entity) | Node | Mencipta nod anak dan menetapkan entiti kepadanya |
add_child_node(node) | None | Menambah nod sedia ada sebagai anak kepada nod ini |
get_child(name) | Optional[Node] | Mencari nod anak langsung mengikut nama |
add_entity(entity) | None | Melampirkan entiti tambahan kepada nod ini |
merge(node) | None | Menggabungkan anak dan entiti nod lain ke dalam nod ini |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Mengembalikan matriks transformasi ruang-dunia; lewati True untuk menyertakan offset geometri |
get_bounding_box() | BoundingBox | Mengira kotak sempadan berpaksi yang selari dengan nod dalam ruang-dunia |
get_property(name) | Any | Mendapatkan nilai sifat mengikut nama |
find_property(name) | Optional[Property] | Mencari sifat mengikut nama |
Properties
Cipta satu adegan, lampirkan mesh kepada node, dan lalui graf adegan:
from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4
scene = Scene()
mesh = Mesh()
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}")