Node
Properties
Properties Node class predstavlja imenovani element u Aspose.3D grafu scene. Svaki čvor može sadržavati jedan Entity (kao što je a Mesh, Camera, ili Light), održava odnose roditelj-dijete s drugim čvorovima i nosi lokalnu transformaciju. Čvorovi su primarni način organiziranja 3D objekata u hijerarhiji scene.
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 konstruktor inicijalizira čvor s opcionalnim imenom.
| Properties | Properties | Properties |
|---|---|---|
name | str | Opcionalno ime za čvor |
Properties
Sva atributa čvora ispod su svojstva; pristupajte im bez zagrada.
| Properties | Properties | Properties |
|---|---|---|
name | str | Ljudski čitljiv identifikator za čvor |
entity | `Entity | None` |
entities | list[Entity] | Svi entiteti povezani s ovim čvorom (samo za čitanje). Čvor može referencirati više od jednog entiteta. |
material | `Material | None` |
materials | list[Material] | Svi materijali dodijeljeni ovom čvoru (samo za čitanje). |
child_nodes | list[Node] | Popis podređenih čvorova. Upotrijebite child_nodes:ne children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Svi roditeljski čvorovi (naslijeđeni iz Entity; podržava instanciranje) |
visible | bool | Properties False, čvor i njegova podstabla su skriveni u preglednicima koji poštuju vidljivost. |
excluded | bool | Properties True, ovaj čvor je isključen iz renderiranja |
transform | Transform | Lokalna transformacija (translacija, rotacija, skaliranje) |
global_transform | GlobalTransform | Matrica transformacije u svjetskom prostoru |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Prilagođena svojstva priložena ovom čvoru |
Properties
| Properties | Tip povratne vrijednosti | Properties |
|---|---|---|
create_child_node(name) | Node | Stvara i prilaže novi podčvor s navedenim imenom |
create_child_node(name, entity) | Node | Stvara podčvor i dodjeljuje mu entitet |
add_child_node(node) | None | Dodaje postojeći čvor kao podčvor ovom čvoru |
get_child(name) | Optional[Node] | Pronalaže izravni podčvor po imenu |
add_entity(entity) | None | Prilaže dodatni entitet ovom čvoru |
merge(node) | None | Spaja podčvorove i entitete drugog čvora u ovaj čvor |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Vraća matricu transformacije u svjetskom prostoru; proslijedite True za uključivanje geometrijskih pomaka |
get_bounding_box() | BoundingBox | Izračunava osično poravnan okvir (bounding box) čvora u svjetskom prostoru |
get_property(name) | Any | Dohvaća vrijednost svojstva po imenu |
find_property(name) | Optional[Property] | Pronalaže svojstvo po imenu |
Properties
Stvori scenu, prikači mesh na čvor i prođi kroz graf scene:
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}")