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.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nom 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.
| Methods | Methods | Methods |
|---|---|---|
name | str | Identifiant lisible par l’homme pour le nœud |
entity | `Entity | None` |
entities | list[Entity] | Toutes les entités attachées à ce nœud (lecture seule). Un nœud peut référencer plus d’une entité. |
material | `Material | None` |
materials | list[Material] | Tous les matériaux assignés à ce nœud (lecture seule). |
child_nodes | list[Node] | Liste des nœuds enfants. Utilisez child_nodes: pas children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Tous les nœuds parents (hérités de Entity; prend en charge l’instanciation) |
visible | bool | Methods False, le nœud et son sous‑arbre sont masqués dans les visionneuses qui respectent la visibilité. |
excluded | bool | Methods True, ce nœud est exclu du rendu |
transform | Transform | Transformation locale (translation, rotation, mise à l’échelle) |
global_transform | GlobalTransform | Matrice de transformation de l’espace mondial |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Propriétés personnalisées attachées à ce nœud |
Methods
| Methods | Type de retour | Methods |
|---|---|---|
create_child_node(name) | Node | Crée et attache un nouveau nœud enfant avec le nom donné |
create_child_node(name, entity) | Node | Crée un nœud enfant et lui assigne une entité |
add_child_node(node) | None | Ajoute 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) | None | Attache une entité supplémentaire à ce nœud |
merge(node) | None | Fusionne les enfants et les entités d’un autre nœud dans ce nœud |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Renvoie la matrice de transformation en espace mondial ; passe True pour inclure les décalages géométriques |
get_bounding_box() | BoundingBox | Calcule la boîte englobante alignée sur les axes du nœud en espace mondial |
get_property(name) | Any | Obtient 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}")