Node — Aspose.3D FOSS for Java
Methods
Methods Node class representerar ett namngivet element i Aspose.3D-scengrafen. Varje nod kan hålla en Entity (t.ex. en Mesh eller Camera).
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 upprätthåller förälder‑barn-relationer med andra noder och har en lokal transformation. Noder är det primära sättet att organisera 3D‑objekt i en scenhierarki.
| Methods | Methods | Methods |
|---|---|---|
name | String | konstruktorn initierar en nod med ett valfritt namn. |
Methods
Alla nodattribut nås via getter-/setter‑metoder.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Valfritt namn för noden |
entity | Entity | getEntity() | setEntity(Entity) | Mänskligt läsbar identifierare för noden., Mesh, CameraDen primära entiteten som är fäst vid denna nod (t.ex., getEntities(). |
entities | List<Entity> | getEntities() | – | ). Genväg för det första elementet i |
material | Material | getMaterial() | setMaterial(Material) | Alla entiteter som är fästa vid denna nod (skrivskyddad) |
materials | List<Material> | getMaterials() | – | Det primära materialet som tilldelats denna nod |
childNodes | List<Node> | getChildNodes() | – | Alla material som tilldelats denna nod (skrivskyddad) |
parentNode | Node | getParentNode() | setParentNode(Node) | Lista över barnnodergetParentNodes() Omedelbar föräldranod i scenhierarkin ( Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, noden och dess underträd är dolda |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, den här noden är exkluderad från rendering |
transform | Transform | getTransform() | – | Lokal transformation (översättning, rotation, skalning) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Världsrumstransformationsmatris |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Tillgångsmetadata bifogade till den här noden, om några |
properties | PropertyCollection | getProperties() | – | Anpassade egenskaper kopplade till den här noden |
Methods
| Methods | Returtyp | Methods |
|---|---|---|
createChildNode(String name) | Node | Skapar och bifogar en ny barnnod med det angivna namnet |
createChildNode(String name, Entity entity) | Node | Skapar en barnnod och tilldelar en entitet till den |
addChildNode(Node node) | void | Lägger till en befintlig nod som ett barn till den här noden |
getChild(String name) | Node | Hittar en direkt barnnod efter namn |
addEntity(Entity entity) | void | Bifogar en ytterligare entitet till den här noden |
merge(Node node) | void | Slår samman en annan nods barn och entiteter i den här noden |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Returnerar transformmatrisen i världsrummet; skicka true för att inkludera geometriska förskjutningar |
getBoundingBox() | BoundingBox | Platshållare i den här utgåvan — returnerar alltid en sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Ingen geometriberäkning utförs. |
getProperty(String name) | Object | Hämtar ett egenskapsvärde efter namn |
findProperty(String name) | Property | Hittar en egenskap efter namn |
Methods
Skapa en scen, fäst ett mesh på en nod och traversera scengrafen:
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());
}
}