Node — Aspose.3D FOSS for Java
Methods
Methods Node La classe 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 ou Camera), 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.
import com.aspose.threed.Scene;
import com.aspose.threed.Node;
Scene scene = new Scene();
// Access the root node via getter
Node root = scene.getRootNode();
// Create a child node
Node child = root.createChildNode("my_node");
// Iterate child nodes via getter
for (Node node : root.getChildNodes()) {
System.out.println(node.getName());
}Methods
Methods Node Le constructeur initialise un nœud avec un nom optionnel.
| Methods | Methods | Methods |
|---|---|---|
name | String | Nom optionnel pour le nœud |
Methods
Tous les attributs du nœud sont accessibles via des méthodes getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Identifiant lisible par l’homme pour le nœud |
entity | Entity | getEntity() | setEntity(Entity) | L’entité principale attachée à ce nœud (par ex., Mesh, Camera). Raccourci pour le premier élément de getEntities(). |
entities | List<Entity> | getEntities() | – | Toutes les entités attachées à ce nœud (lecture seule) |
material | Material | getMaterial() | setMaterial(Material) | Le matériau principal assigné à ce nœud |
materials | List<Material> | getMaterials() | – | Tous les matériaux assignés à ce nœud (lecture seule) |
childNodes | List<Node> | getChildNodes() | – | Liste des nœuds enfants |
parentNode | Node | getParentNode() | setParentNode(Node) | Nœud parent immédiat dans la hiérarchie de la scène (getParentNodes() n’est pas disponible sur Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, le nœud et son sous‑arbre sont masqués |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, ce nœud est exclu du rendu |
transform | Transform | getTransform() | – | Transformation locale (translation, rotation, mise à l’échelle) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Matrice de transformation en espace mondial |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Métadonnées de l’actif attachées à ce nœud, le cas échéant |
properties | PropertyCollection | getProperties() | – | Propriétés personnalisées attachées à ce nœud |
Methods
| Methods | Type de retour | Methods |
|---|---|---|
createChildNode(String name) | Node | Crée et attache un nouveau nœud enfant avec le nom fourni |
createChildNode(String name, Entity entity) | Node | Crée un nœud enfant et lui assigne une entité |
addChildNode(Node node) | void | Ajoute un nœud existant comme enfant de ce nœud |
getChild(String name) | Node | Trouve un nœud enfant direct par son nom |
addEntity(Entity entity) | void | Attache une entité supplémentaire à ce nœud |
merge(Node node) | void | Fusionne les enfants et les entités d’un autre nœud dans ce nœud |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Renvoie la matrice de transformation world-space ; passe true pour inclure les décalages géométriques |
getBoundingBox() | BoundingBox | Ébauche dans cette édition — renvoie toujours un sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Aucun calcul de géométrie n’est effectué. |
getProperty(String name) | Object | Récupère la valeur d’une propriété par son nom |
findProperty(String name) | Property | Trouve une propriété par son nom |
Methods
Créez une scène, attachez une mesh à un nœud et parcourez le graphe de scène :
import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.*;
Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);
// Attach mesh to a child node
Node node = scene.getRootNode().createChildNode("triangle", mesh);
// Traverse child nodes using getter
for (Node child : scene.getRootNode().getChildNodes()) {
Entity entity = child.getEntity();
if (entity != null) {
System.out.println("Node '" + child.getName() + "': " + entity.getClass().getSimpleName());
System.out.println(" Excluded: " + child.getExcluded());
}
}