Node — Aspose.3D FOSS for Java
Methods
Methods Node classe representa um elemento nomeado no Aspose.3D scene graph. Cada nó pode conter um Entity (such as a Mesh or Camera), mantém relacionamentos pai-filho com outros nós e possui uma transformação local. Nós são a forma principal de organizar objetos 3D em uma hierarquia de cena.
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 construtor inicializa um nó com um nome opcional.
| Methods | Methods | Methods |
|---|---|---|
name | String | Nome opcional para o nó |
Methods
Todos os atributos do nó são acessados via métodos getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Identificador legível por humanos para o nó |
entity | Entity | getEntity() | setEntity(Entity) | A entidade principal anexada a este nó (por exemplo,., Mesh, Camera). Atalho para o primeiro elemento de getEntities(). |
entities | List<Entity> | getEntities() | – | Todas as entidades anexadas a este nó (somente leitura) |
material | Material | getMaterial() | setMaterial(Material) | O material principal atribuído a este nó |
materials | List<Material> | getMaterials() | – | Todos os materiais atribuídos a este nó (somente leitura) |
childNodes | List<Node> | getChildNodes() | – | Lista de nós filhos |
parentNode | Node | getParentNode() | setParentNode(Node) | Nó pai imediato na hierarquia da cena (getParentNodes() não está disponível em Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, o nó e sua subárvore estão ocultos |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, este nó está excluído da renderização |
transform | Transform | getTransform() | – | Transformação local (translação, rotação, escala) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Matriz de transformação em espaço mundial |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadados do recurso anexados a este nó, se houver |
properties | PropertyCollection | getProperties() | – | Propriedades personalizadas anexadas a este nó |
Methods
| Methods | Tipo de retorno | Methods |
|---|---|---|
createChildNode(String name) | Node | Cria e anexa um novo nó filho com o nome fornecido |
createChildNode(String name, Entity entity) | Node | Cria um nó filho e atribui uma entidade a ele |
addChildNode(Node node) | void | Adiciona um nó existente como filho deste nó |
getChild(String name) | Node | Encontra um nó filho direto pelo nome |
addEntity(Entity entity) | void | Anexa uma entidade adicional a este nó |
merge(Node node) | void | Mescla os filhos e as entidades de outro nó neste nó |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Retorna a matriz de transformação no espaço mundial; passe true para incluir deslocamentos geométricos |
getBoundingBox() | BoundingBox | Stub nesta edição — sempre retorna um sentinela BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Nenhum cálculo de geometria é realizado. |
getProperty(String name) | Object | Obtém o valor de uma propriedade pelo nome |
findProperty(String name) | Property | Encontra uma propriedade pelo nome |
Methods
Crie uma cena, anexe um mesh a um nó e percorra o grafo de cena:
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());
}
}