Node — Aspose.3D FOSS for Java
Methods
Methods Node class representa un elemento con nombre en el grafo de escena Aspose.3D. Cada nodo puede contener uno Entity (como un Mesh o Camera), mantiene relaciones padre‑hijo con otros nodos y lleva una transformación local. Los nodos son la forma principal de organizar objetos 3D en una jerarquía de 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 constructor inicializa un nodo con un nombre opcional.
| Methods | Methods | Methods |
|---|---|---|
name | String | Nombre opcional para el nodo |
Methods
Todos los atributos del nodo se acceden mediante métodos getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Identificador legible por humanos para el nodo |
entity | Entity | getEntity() | setEntity(Entity) | La entidad primaria adjunta a este nodo (p. ej., Mesh, Camera). Atajo para el primer elemento de getEntities(). |
entities | List<Entity> | getEntities() | – | Todas las entidades adjuntas a este nodo (solo lectura) |
material | Material | getMaterial() | setMaterial(Material) | El material principal asignado a este nodo |
materials | List<Material> | getMaterials() | – | Todos los materiales asignados a este nodo (solo lectura) |
childNodes | List<Node> | getChildNodes() | – | Lista de nodos hijos |
parentNode | Node | getParentNode() | setParentNode(Node) | Nodo padre inmediato en la jerarquía de la escena (getParentNodes() no está disponible en Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, el nodo y su subárbol están ocultos |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, este nodo está excluido del renderizado |
transform | Transform | getTransform() | – | Transformación local (traslación, rotación, escala) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Matriz de transformación en espacio mundial |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadatos del recurso adjuntos a este nodo, si los hay |
properties | PropertyCollection | getProperties() | – | Propiedades personalizadas adjuntas a este nodo |
Methods
| Methods | Tipo de retorno | Methods |
|---|---|---|
createChildNode(String name) | Node | Crea y adjunta un nuevo nodo hijo con el nombre dado |
createChildNode(String name, Entity entity) | Node | Crea un nodo hijo y le asigna una entidad |
addChildNode(Node node) | void | Añade un nodo existente como hijo de este nodo |
getChild(String name) | Node | Busca un nodo hijo directo por nombre |
addEntity(Entity entity) | void | Adjunta una entidad adicional a este nodo |
merge(Node node) | void | Fusiona los hijos y entidades de otro nodo en este nodo |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Devuelve la matriz de transformación world-space; pase true para incluir desplazamientos geométricos |
getBoundingBox() | BoundingBox | Stub en esta edición — siempre devuelve un sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). No se realiza ningún cálculo de geometría. |
getProperty(String name) | Object | Obtiene el valor de una propiedad por nombre |
findProperty(String name) | Property | Encuentra una propiedad por nombre |
Methods
Crea una escena, adjunta una mesh a un nodo y recorre el grafo de 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());
}
}