Node

Methods

Methods Node class représente un élément nommé dans le graphe de scène Aspose.3D. Chaque nœud peut contenir un Entity (tel qu’un Mesh, Camera, ou Light), maintient des relations parent‑enfant avec d’autres nœuds, et possède une transformation locale. Les nœuds sont le moyen principal d’organiser les objets 3D dans une hiérarchie de scène.

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 le constructeur initialise un nœud avec un nom optionnel.

MethodsMethodsMethods
namestrNom optionnel pour le nœud

Methods

Tous les attributs du nœud ci‑dessous sont des propriétés; accédez‑y sans parenthèses.

MethodsMethodsMethods
namestrIdentifiant lisible par l’homme pour le nœud
entity`EntityNone`
entitieslist[Entity]Toutes les entités attachées à ce nœud (lecture seule). Un nœud peut référencer plus d’une entité.
material`MaterialNone`
materialslist[Material]Tous les matériaux assignés à ce nœud (lecture seule).
child_nodeslist[Node]Liste des nœuds enfants. Utilisez child_nodes: pas children
parent_node`NodeNone`
parent_nodeslist[Node]Tous les nœuds parents (hérités de Entity; prend en charge l’instanciation)
visibleboolMethods False, le nœud et son sous‑arbre sont masqués dans les visionneuses qui respectent la visibilité.
excludedboolMethods True, ce nœud est exclu du rendu
transformTransformTransformation locale (translation, rotation, mise à l’échelle)
global_transformGlobalTransformMatrice de transformation de l’espace mondial
asset_info`AssetInfoNone`
propertiesPropertyCollectionPropriétés personnalisées attachées à ce nœud

Methods

MethodsType de retourMethods
create_child_node(name)NodeCrée et attache un nouveau nœud enfant avec le nom donné
create_child_node(name, entity)NodeCrée un nœud enfant et lui assigne une entité
add_child_node(node)NoneAjoute un nœud existant comme enfant de ce nœud
get_child(name)Optional[Node]Trouve un nœud enfant direct par nom
add_entity(entity)NoneAttache une entité supplémentaire à ce nœud
merge(node)NoneFusionne les enfants et les entités d’un autre nœud dans ce nœud
evaluate_global_transform(with_geometric_transform)Matrix4Renvoie la matrice de transformation en espace mondial ; passe True pour inclure les décalages géométriques
get_bounding_box()BoundingBoxCalcule la boîte englobante alignée sur les axes du nœud en espace mondial
get_property(name)AnyObtient la valeur d’une propriété par son nom
find_property(name)Optional[Property]Trouve une propriété par son nom

Methods

Créez une scène, attachez un maillage à un nœud et parcourez le graphe de scène :

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

Voir aussi

 Français