Node

Methods

Methods Node klasa reprezentuje nazwany element w grafie sceny Aspose.3D. Każdy węzeł może zawierać jeden Entity (takim jak a Mesh, Camera, lub Light), utrzymuje relacje rodzic‑dziecko z innymi węzłami i posiada lokalną transformację. Węzły są podstawowym sposobem organizacji obiektów 3D w hierarchii sceny.

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 inicjalizuje węzeł z opcjonalną nazwą.

MethodsMethodsMethods
namestrOpcjonalna nazwa węzła

Methods

Wszystkie poniższe atrybuty węzła są właściwości; uzyskaj do nich dostęp bez nawiasów.

MethodsMethodsMethods
namestrCzytelny dla człowieka identyfikator węzła
entity`EntityNone`
entitieslist[Entity]Wszystkie podmioty (entity) podłączone do tego węzła (tylko do odczytu). Węzeł może odwoływać się do więcej niż jednego podmiotu.
material`MaterialNone`
materialslist[Material]Wszystkie materiały przypisane do tego węzła (tylko do odczytu).
child_nodeslist[Node]Lista węzłów potomnych. Użyj child_nodes: nie children
parent_node`NodeNone`
parent_nodeslist[Node]Wszystkie węzły nadrzędne (dziedziczone z Entity; obsługuje instancjonowanie)
visibleboolMethods False, węzeł i jego poddrzewo są ukryte w przeglądarkach respektujących widoczność.
excludedboolMethods True, ten węzeł jest wykluczony z renderowania
transformTransformLokalna transformacja (przesunięcie, obrót, skalowanie)
global_transformGlobalTransformMacierz transformacji w przestrzeni światowej
asset_info`AssetInfoNone`
propertiesPropertyCollectionNiestandardowe właściwości dołączone do tego węzła

Methods

MethodsTyp zwracanyMethods
create_child_node(name)NodeTworzy i dołącza nowy węzeł potomny o podanej nazwie
create_child_node(name, entity)NodeTworzy węzeł potomny i przypisuje do niego encję
add_child_node(node)NoneDodaje istniejący węzeł jako potomka tego węzła
get_child(name)Optional[Node]Znajduje bezpośredni węzeł potomny po nazwie
add_entity(entity)NoneDołącza dodatkową encję do tego węzła
merge(node)NoneŁączy potomków i encje innego węzła z tym węzłem
evaluate_global_transform(with_geometric_transform)Matrix4Zwraca macierz przekształcenia w przestrzeni świata; przekaż True aby uwzględnić przesunięcia geometryczne
get_bounding_box()BoundingBoxOblicza axis-aligned bounding box węzła w przestrzeni świata
get_property(name)AnyPobiera wartość właściwości po nazwie
find_property(name)Optional[Property]Znajduje właściwość po nazwie

Methods

Utwórz scenę, podłącz siatkę do węzła i przeglądaj graf sceny:

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

Zobacz także

 Polski