Node — Aspose.3D FOSS for Java
Methods
Methods Node klassen representerer et navngitt element i Aspose.3D-scengrafen. Hver node kan holde én Entity (for eksempel en Mesh eller Camera), opprettholder forelder‑barn‑relasjoner med andre noder, og har en lokal transformasjon. Noder er den primære måten å organisere 3D‑objekter i en scenehierarki.
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 konstruktøren initialiserer en node med et valgfritt navn.
| Methods | Methods | Methods |
|---|---|---|
name | String | Valgfritt navn for noden |
Methods
Alle node‑attributter nås via getter/setter‑metoder.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Menneskelig lesbar identifikator for noden |
entity | Entity | getEntity() | setEntity(Entity) | Den primære enheten knyttet til denne noden (f.eks., Mesh, Camera). Snarvei for det første elementet av getEntities(). |
entities | List<Entity> | getEntities() | – | Alle enheter knyttet til denne noden (kun lesbar) |
material | Material | getMaterial() | setMaterial(Material) | Det primære materialet tilordnet denne noden |
materials | List<Material> | getMaterials() | – | Alle materialer tilordnet denne noden (kun lesbar) |
childNodes | List<Node> | getChildNodes() | – | Liste over barne‑noder |
parentNode | Node | getParentNode() | setParentNode(Node) | Umiddelbar forelder‑node i scenehierarkiet (getParentNodes() er ikke tilgjengelig på Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, noden og dens undertrær er skjult |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, denne noden er ekskludert fra rendering |
transform | Transform | getTransform() | – | Lokal transformasjon (oversettelse, rotasjon, skalering) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Verdensromtransformasjonsmatrise |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Asset-metadata knyttet til denne noden, hvis noen |
properties | PropertyCollection | getProperties() | – | Egendefinerte egenskaper knyttet til denne noden |
Methods
| Methods | Returtype | Methods |
|---|---|---|
createChildNode(String name) | Node | Oppretter og knytter en ny undernode med det angitte navnet |
createChildNode(String name, Entity entity) | Node | Oppretter en undernode og tilordner en enhet til den |
addChildNode(Node node) | void | Legger til en eksisterende node som barn av denne noden |
getChild(String name) | Node | Finner en direkte undernode etter navn |
addEntity(Entity entity) | void | Knytter en ekstra enhet til denne noden |
merge(Node node) | void | Fletter en annen nodes barn og enheter inn i denne noden |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Returnerer verdensromtransformasjonsmatrisen; pass true for å inkludere geometriske forskyvninger |
getBoundingBox() | BoundingBox | Stub i denne utgaven — returnerer alltid en sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Ingen geometriberegning utføres. |
getProperty(String name) | Object | Henter en egenskapsverdi etter navn |
findProperty(String name) | Property | Finner en egenskap etter navn |
Methods
Opprett en scene, fest en mesh til en node, og traverser 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());
}
}