Node — Aspose.3D FOSS for Java
Methods
Methods Node La classe representa un element amb nom al gràfic d’escena Aspose.3D. Cada node pot contenir un Entity (com ara un Mesh o Camera), manté relacions pare‑fill amb altres nodes i porta una transformació local. Els nodes són la manera principal d’organitzar objectes 3D en una jerarquia d’escena.
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 El constructor inicialitza un node amb un nom opcional.
| Methods | Methods | Methods |
|---|---|---|
name | String | Nom opcional per al node |
Methods
Tots els atributs del node s’accedeixen mitjançant mètodes getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Identificador llegible per a humans del node |
entity | Entity | getEntity() | setEntity(Entity) | L’entitat principal adjunta a aquest node (p. ex., Mesh, Camera). Drecera per al primer element de getEntities(). |
entities | List<Entity> | getEntities() | – | Totes les entitats adjuntes a aquest node (només lectura) |
material | Material | getMaterial() | setMaterial(Material) | El material principal assignat a aquest node |
materials | List<Material> | getMaterials() | – | Tots els materials assignats a aquest node (només lectura) |
childNodes | List<Node> | getChildNodes() | – | Llista de nodes fills |
parentNode | Node | getParentNode() | setParentNode(Node) | Node pare immediat a la jerarquia d’escena (getParentNodes() no està disponible a Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, el node i el seu subarbre estan ocults |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, aquest node està exclòs del renderitzat |
transform | Transform | getTransform() | – | Transformació local (traslació, rotació, escala) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Matriu de transformació en l’espai mundial |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadades de l’actiu adjuntes a aquest node, si n’hi ha |
properties | PropertyCollection | getProperties() | – | Propietats personalitzades adjuntes a aquest node |
Methods
| Methods | Tipus de retorn | Methods |
|---|---|---|
createChildNode(String name) | Node | Crea i adjunta un node fill nou amb el nom indicat |
createChildNode(String name, Entity entity) | Node | Crea un node fill i li assigna una entitat |
addChildNode(Node node) | void | Afegeix un node existent com a fill d’aquest node |
getChild(String name) | Node | Troba un node fill directe per nom |
addEntity(Entity entity) | void | Adjunta una entitat addicional a aquest node |
merge(Node node) | void | Fusiona els fills i les entitats d’un altre node en aquest node |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Retorna la matriu de transformació en l’espai mundial; passa true per incloure desplaçaments geomètrics |
getBoundingBox() | BoundingBox | Esbós en aquesta edició — sempre retorna un sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). No es realitza cap càlcul de geometria. |
getProperty(String name) | Object | Obté el valor d’una propietat per nom |
findProperty(String name) | Property | Troba una propietat per nom |
Methods
Crea una escena, adjunta una mesh a un node i recorre el gràfic d’escena:
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());
}
}