Node

Methods

Methods Node clasa reprezintă un element denumit în graficul de scenă Aspose.3D. Fiecare nod poate conține unul Entity (cum ar fi un Mesh, Camera, sau Light), menține relații părinte-copil cu alte noduri și poartă o transformare locală. Nodurile sunt modalitatea principală de a organiza obiecte 3D într-o ierarhie de scenă.

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 constructorul inițializează un nod cu un nume opțional.

MethodsMethodsMethods
namestrNume opțional pentru nod

Methods

Toate atributele nodului de mai jos sunt proprietăți; accesați-le fără paranteze.

MethodsMethodsMethods
namestrIdentificator lizibil de către om pentru nod
entity`EntityNone`
entitieslist[Entity]Toate entitățile atașate acestui nod (doar citire). Un nod poate face referire la mai multe entități.
material`MaterialNone`
materialslist[Material]Toate materialele atribuite acestui nod (doar citire).
child_nodeslist[Node]Listă de noduri copil. Utilizați child_nodes:nu children
parent_node`NodeNone`
parent_nodeslist[Node]Toate nodurile părinte (moștenite din Entity; suportă instanțierea)
visibleboolMethods False, nodul și subarborele său sunt ascunși în vizualizatoare care respectă vizibilitatea.
excludedboolMethods True, acest nod este exclus din randare
transformTransformTransformare locală (translație, rotație, scară)
global_transformGlobalTransformMatricea de transformare în spațiul global
asset_info`AssetInfoNone`
propertiesPropertyCollectionProprietăți personalizate atașate acestui nod

Methods

MethodsTip de returnareMethods
create_child_node(name)NodeCreează și atașează un nod copil nou cu numele specificat
create_child_node(name, entity)NodeCreează un nod copil și îi atribuie o entitate
add_child_node(node)NoneAdaugă un nod existent ca copil al acestui nod
get_child(name)Optional[Node]Găsește un nod copil direct după nume
add_entity(entity)NoneAtașează o entitate suplimentară acestui nod
merge(node)NoneÎmbină copiii și entitățile altui nod în acest nod
evaluate_global_transform(with_geometric_transform)Matrix4Returnează matricea de transformare în spațiul lumii; trece True pentru a include decalaje geometrice
get_bounding_box()BoundingBoxCalculează cutia de delimitare aliniată pe axe a nodului în spațiul lumii
get_property(name)AnyObține valoarea unei proprietăți după nume
find_property(name)Optional[Property]Găsește o proprietate după nume

Methods

Creați o scenă, atașați un mesh la un nod și parcurgeți graficul de scenă:

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}")

Vezi și

 Română