Node — Aspose.3D FOSS for Java
Methods
Methods Node klasse vertegenwoordigt een benoemd element in de Aspose.3D scene graph. Elke node kan één bevatten Entity (zoals een Mesh of Camera), onderhoudt ouder‑kindrelaties met andere nodes, en draagt een lokale transformatie. Nodes zijn de primaire manier om 3D‑objecten in een scene‑hiërarchie te organiseren.
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 initialiseert een node met een optionele naam.
| Methods | Methods | Methods |
|---|---|---|
name | String | Optionele naam voor de node |
Methods
Alle node‑attributen worden benaderd via getter/setter‑methoden.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Menselijk leesbare identifier voor de node |
entity | Entity | getEntity() | setEntity(Entity) | De primaire entiteit gekoppeld aan deze node (bijv., Mesh, Camera). Snelkoppeling voor het eerste element van getEntities(). |
entities | List<Entity> | getEntities() | – | Alle entiteiten gekoppeld aan deze node (alleen‑lezen) |
material | Material | getMaterial() | setMaterial(Material) | Het primaire materiaal toegewezen aan deze node |
materials | List<Material> | getMaterials() | – | Alle materialen toegewezen aan deze node (alleen‑lezen) |
childNodes | List<Node> | getChildNodes() | – | Lijst van kindnodes |
parentNode | Node | getParentNode() | setParentNode(Node) | Directe bovenliggende node in de scene‑hiërarchie (getParentNodes() is niet beschikbaar op Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, de node en zijn subtree zijn verborgen |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, deze node is uitgesloten van rendering |
transform | Transform | getTransform() | – | Lokale transformatie (translatie, rotatie, schaal) |
globalTransform | GlobalTransform | getGlobalTransform() | – | World-space transformatie matrix |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Asset-metadata gekoppeld aan deze node, indien aanwezig |
properties | PropertyCollection | getProperties() | – | Aangepaste eigenschappen gekoppeld aan dit knooppunt |
Methods
| Methods | Retourtype | Methods |
|---|---|---|
createChildNode(String name) | Node | Maakt een nieuw kindknooppunt aan en koppelt het met de opgegeven naam |
createChildNode(String name, Entity entity) | Node | Maakt een kindknooppunt aan en wijst er een entiteit aan toe |
addChildNode(Node node) | void | Voegt een bestaand knooppunt toe als kind van dit knooppunt |
getChild(String name) | Node | Vindt een direct kindknooppunt op naam |
addEntity(Entity entity) | void | Koppelt een extra entiteit aan dit knooppunt |
merge(Node node) | void | Voegt de kinderen en entiteiten van een ander knooppunt samen met dit knooppunt |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Retourneert de wereldruimte-transformatiematrix; geef true op om geometrische offsets op te nemen |
getBoundingBox() | BoundingBox | Stub in deze editie — retourneert altijd een sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Er wordt geen geometrieberekening uitgevoerd. |
getProperty(String name) | Object | Haalt een eigenschapswaarde op op naam |
findProperty(String name) | Property | Vindt een eigenschap op naam |
Methods
Maak een scène, koppel een mesh aan een node, en doorloop de scènegrafiek:
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());
}
}