Node — Aspose.3D FOSS for Java
Example
Example Node klasė atstovauja pavadintą elementą Aspose.3D scenų grafike. Kiekvienas mazgas gali turėti vieną Entity (pvz., Mesh arba Camera), palaiko tėvo‑vaiko ryšius su kitais mazgais ir neša vietinį transformaciją. Mazgai yra pagrindinis būdas organizuoti 3D objektus scenos hierarchijoje.
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());
}Example
Example Node konstruktorius inicializuoja mazgą su pasirenkamu pavadinimu.
| Example | Example | Example |
|---|---|---|
name | String | Pasirenkamas mazgo pavadinimas |
Example
Visos mazgo savybės pasiekiamos per getter/setter metodus.
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
name | String | getName() | setName(String) | Žmogui skaitomas mazgo identifikatorius |
entity | Entity | getEntity() | setEntity(Entity) | Pagrindinė prie šio mazgo prijungta esybė (pvz., Mesh, Camera). Trumpinys pirmam elementui iš getEntities(). |
entities | List<Entity> | getEntities() | – | Visos prie šio mazgo prijungtos esybės (tik skaityti) |
material | Material | getMaterial() | setMaterial(Material) | Pagrindinė medžiaga, priskirta šiam mazgui |
materials | List<Material> | getMaterials() | – | Visos medžiagos, priskirtos šiam mazgui (tik skaityti) |
childNodes | List<Node> | getChildNodes() | – | Vaikų mazgų sąrašas |
parentNode | Node | getParentNode() | setParentNode(Node) | Tiesioginis tėvo mazgas scenos hierarchijoje |
parentNodes | List<Node> | getParentNodes() | – | Visi tėvo mazgai (paveldėti iš Entity; palaiko instancijavimą) |
visible | boolean | getVisible() | setVisible(boolean) | Example false, mazgas ir jo pošaknis yra paslėpti |
excluded | boolean | getExcluded() | setExcluded(boolean) | Example true, šis mazgas yra išskirtas iš atvaizdavimo |
transform | Transform | getTransform() | – | Vietinis transformavimas (perkėlimas, sukimas, mastelis) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Pasaulio erdvės transformacijos matrica |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Šio mazgo prie pridėti turto metaduomenys, jei yra |
properties | PropertyCollection | getProperties() | – | Šio mazgo prie pridėtos pasirinktinės savybės |
Example
| Example | Grąžinimo tipas | Example |
|---|---|---|
createChildNode(String name) | Node | Sukuria ir prideda naują vaikų mazgą su nurodytu pavadinimu |
createChildNode(String name, Entity entity) | Node | Sukuria vaikų mazgą ir priskiria jam objektą |
addChildNode(Node node) | void | Prideda esamą mazgą kaip šio mazgo vaiką |
getChild(String name) | Node | Randa tiesioginį vaikų mazgą pagal pavadinimą |
addEntity(Entity entity) | void | Prideda papildomą objektą prie šio mazgo |
merge(Node node) | void | Sujungia kito mazgo vaikus ir objektus į šį mazgą |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Grąžina pasaulio erdvės transformacijos matricą; perduokite true įtraukti geometrinius poslinkius |
getBoundingBox() | BoundingBox | Apskaičiuoja mazgo ašimis lygią ribinę dėžutę pasaulio erdvėje |
getProperty(String name) | Object | Gauti savybės reikšmę pagal pavadinimą |
findProperty(String name) | Property | Randa savybę pagal pavadinimą |
Example
Sukurkite sceną, prijunkite mesh prie mazgo ir pereikite scenų grafą:
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());
}
}