Node

Node klasa predstavlja imenovani element u Aspose.3D grafu scene. Svaki čvor može da drži jedan Entity (kao što je a Mesh, Camera, ili Light), održava odnose roditelj‑dete sa drugim čvorovima i nosi lokalnu transformaciju. Čvorovi su primarni način organizovanja 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)

Node konstruktor inicijalizuje čvor sa opcionim imenom.

namestrOpcionalno ime za čvor

Sva atributa čvora ispod su svojstva; pristupajte im bez zagrada.

namestrLjudski čitljiv identifikator za čvor
entity`EntityNone`
entitieslist[Entity]Svi entiteti povezani sa ovim čvorom (samo za čitanje). Čvor može da referiše na više od jednog entiteta.
material`MaterialNone`
materialslist[Material]Svi materijali dodeljeni ovom čvoru (samo za čitanje).
child_nodeslist[Node]Lista podčvorova. Koristite child_nodes:ne children
parent_node`NodeNone`
parent_nodeslist[Node]Svi roditeljski čvorovi (nasleđeni iz Entity; podržava instanciranje)
visiblebool
False, čvor i njegova podstabla su sakriveni u preglednicima koji poštuju vidljivost.
excludedbool
True, ovaj čvor je isključen iz renderovanja
transformTransformLokalna transformacija (translacija, rotacija, skaliranje)
global_transformGlobalTransformMatrica transformacije u svetskom prostoru
asset_info`AssetInfoNone`
propertiesPropertyCollectionPrilagođena svojstva prikačena na ovaj čvor

Tip povratne vrednosti
create_child_node(name)NodeKreira i prikači novi podčvor sa zadatim imenom
create_child_node(name, entity)NodeKreira podčvor i dodeljuje mu entitet
add_child_node(node)NoneDodaje postojeći čvor kao podčvor ovog čvora
get_child(name)Optional[Node]Pronalaže direktni podčvor po imenu
add_entity(entity)NonePrikači dodatni entitet na ovaj čvor
merge(node)NoneSpaja decu i entitete drugog čvora u ovaj čvor
evaluate_global_transform(with_geometric_transform)Matrix4Vraća matricu transformacije u svetskom prostoru; prosledi True da uključi geometrijske pomake
get_bounding_box()BoundingBoxIzračunava axis-aligned bounding box čvora u svetskom prostoru
get_property(name)AnyDobija vrednost svojstva po imenu
find_property(name)Optional[Property]Pronalaže svojstvo po imenu

Kreirajte scenu, prikačite mesh na čvor i pređite 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()
# 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}")

Vidi takođe

 Српски