Node

Node trieda predstavuje pomenovaný prvok v Aspose.3D grafe scény. Každý uzol môže obsahovať jeden Entity (napríklad Mesh, Camera, alebo Light).

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 udržuje vzťahy rodič-dieťa s ostatnými uzlami a nesie lokálnu transformáciu. Uzly sú hlavný spôsob organizácie 3D objektov v hierarchii scény.

namestrkonstruktor inicializuje uzol s voliteľným názvom.

Voliteľný názov pre uzol Všetky atribúty uzla nižšie sú;vlastnosti.

namestr; pristupujte k nim bez zátvoriek.
entity`EntityNone`
entitieslist[Entity]). Skratka pre prvý prvok.
material`MaterialNone`
materialslist[Material]Všetky materiály priradené tomuto uzlu (iba na čítanie).
child_nodeslist[Node]Zoznam podriadených uzlov. Použite child_nodes:nie children
parent_node`NodeNone`
parent_nodeslist[Node]Všetky rodičovské uzly (zdedené z Entity; podporuje inštancovanie)
visiblebool
False, uzol a jeho podstrom sú skryté v prehliadačoch, ktoré rešpektujú viditeľnosť.
excludedbool
True, tento uzol je vylúčený z renderovania
transformTransformLokálna transformácia (posun, rotácia, škálovanie)
global_transformGlobalTransformMatrica transformácie vo svetovom priestore
asset_info`AssetInfoNone`
propertiesPropertyCollectionVlastné vlastnosti pripojené k tomuto uzlu

Návratový typ
create_child_node(name)NodeVytvorí a pripojí nový podriadený uzol s daným názvom
create_child_node(name, entity)NodeVytvorí podriadený uzol a priradí mu entitu
add_child_node(node)NonePridá existujúci uzol ako podriadený tomuto uzlu
get_child(name)Optional[Node]Nájde priamy podriadený uzol podľa názvu
add_entity(entity)NonePripojí ďalšiu entitu k tomuto uzlu
merge(node)NoneZlúči podriadené uzly a entity iného uzla do tohto uzla
evaluate_global_transform(with_geometric_transform)Matrix4Vráti maticu transformácie vo svetovom priestore; odovzdajte True pre zahrnutie geometrických posunov
get_bounding_box()BoundingBoxVypočíta osovo zarovnanú ohraničovaciu krabicu uzla vo svetovom priestore
get_property(name)AnyZískava hodnotu vlastnosti podľa názvu
find_property(name)Optional[Property]Nájde vlastnosť podľa názvu

Vytvorte scénu, pripojte mesh k uzlu a prejdite 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()
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}")

Pozri tiež

 Slovenčina