Node
Methods
Methods Node třída představuje pojmenovaný prvek v Aspose.3D grafu scény. Každý uzel může obsahovat jeden Entity (například Mesh, Camera, nebo Light), udržuje vztahy rodič‑dítě s ostatními uzly a nese lokální transformaci. Uzly jsou hlavním způsobem, jak organizovat 3D objekty v hierarchii scény.
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 inicializuje uzel s volitelným názvem.
| Methods | Methods | Methods |
|---|---|---|
name | str | Volitelný název uzlu |
Methods
Všechny níže uvedené atributy uzlu jsou vlastnosti; přistupujte k nim bez závorek.
| Methods | Methods | Methods |
|---|---|---|
name | str | Člověkem čitelný identifikátor uzlu |
entity | `Entity | None` |
entities | list[Entity] | Všechny entity připojené k tomuto uzlu (pouze pro čtení). Uzel může odkazovat na více než jednu entitu. |
material | `Material | None` |
materials | list[Material] | Všechny materiály přiřazené tomuto uzlu (pouze pro čtení). |
child_nodes | list[Node] | Seznam podřízených uzlů. Použijte child_nodes:ne children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Všechny nadřazené uzly (zděděné z Entity; podporuje instanciování) |
visible | bool | Methods False, uzel a jeho podstrom jsou skryty v prohlížečích, které respektují viditelnost. |
excluded | bool | Methods True, tento uzel je vyloučen z vykreslování |
transform | Transform | Lokální transformace (posunutí, rotace, měřítko) |
global_transform | GlobalTransform | Maticová transformace ve světovém prostoru |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Vlastní vlastnosti připojené k tomuto uzlu |
Methods
| Methods | Návratový typ | Methods |
|---|---|---|
create_child_node(name) | Node | Vytvoří a připojí nový podřízený uzel s daným názvem |
create_child_node(name, entity) | Node | Vytvoří podřízený uzel a přiřadí mu entitu |
add_child_node(node) | None | Přidá existující uzel jako podřízený tohoto uzlu |
get_child(name) | Optional[Node] | Najde přímý podřízený uzel podle názvu |
add_entity(entity) | None | Připojí další entitu k tomuto uzlu |
merge(node) | None | Sloučí podřízené uzly a entity jiného uzlu do tohoto uzlu |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Vrací matici transformace ve světovém prostoru; předat True pro zahrnutí geometrických posunů |
get_bounding_box() | BoundingBox | Vypočítá osově zarovnaný ohraničující rámeček uzlu ve světovém prostoru |
get_property(name) | Any | Získá hodnotu vlastnosti podle názvu |
find_property(name) | Optional[Property] | Najde vlastnost podle názvu |
Methods
Vytvořte scénu, připojte mesh k uzlu a projděte graf scény:
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}")