Node — Aspose.3D FOSS for Java
Methods
Methods Node luokka edustaa nimettyä elementtiä Aspose.3D-skenegraafissa. Jokainen solmu voi pitää yhden Entity (kuten Mesh tai Camera), ylläpitää vanhempi‑lapsi‑suhteita muihin solmuihin ja kantaa paikallista muunnosta. Solmut ovat ensisijainen tapa järjestää 3D‑objekteja kohtauksen hierarkiassa.
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 konstruktori alustaa solmun valinnaisella nimellä.
| Methods | Methods | Methods |
|---|---|---|
name | String | Solmun valinnainen nimi |
Methods
Kaikki solmun attribuutit haetaan getter-/setter‑menetelmillä.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Ihmisluettava tunniste solmulle |
entity | Entity | getEntity() | setEntity(Entity) | Tämän solmun ensisijainen liitetty entiteetti (esim.., Mesh, Camera). Lyhenne ensimmäiselle elementille getEntities(). |
entities | List<Entity> | getEntities() | – | Kaikki tähän solmuun liitetyt entiteetit (vain luku) |
material | Material | getMaterial() | setMaterial(Material) | Tämän solmun ensisijainen materiaali |
materials | List<Material> | getMaterials() | – | Kaikki tälle solmulle määritetyt materiaalit (vain luku) |
childNodes | List<Node> | getChildNodes() | – | Alisolmujen luettelo |
parentNode | Node | getParentNode() | setParentNode(Node) | Välittömä vanhempisolmu kohtauksen hierarkiassa (getParentNodes() ei ole saatavilla Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, solmu ja sen alipuuhut on piilotettu |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, tämä solmu on poissuljettu renderöinnistä |
transform | Transform | getTransform() | – | Paikallinen muunnos (siirto, kierto, skaalaus) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Maailmankoordinaattien muunnosmatriisi |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Tähän solmuun liitetyt omaisuusmetatiedot, jos niitä on |
properties | PropertyCollection | getProperties() | – | Mukautetut ominaisuudet, jotka on liitetty tähän solmuun |
Methods
| Methods | Palautustyyppi | Methods |
|---|---|---|
createChildNode(String name) | Node | Luo ja liittää uuden lapsisolmun annetulla nimellä |
createChildNode(String name, Entity entity) | Node | Luo lapsisolmun ja määrittää sille entiteetin |
addChildNode(Node node) | void | Lisää olemassa olevan solmun tämän solmun lapsena |
getChild(String name) | Node | Etsii suoran lapsisolmun nimen perusteella |
addEntity(Entity entity) | void | Liittää lisäentiteetin tähän solmuun |
merge(Node node) | void | Yhdistää toisen solmun lapset ja entiteetit tähän solmuun |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Palauttaa maailman koordinaatiston muunnosmatriisin; anna true sisällyttääksesi geometriset siirtymät |
getBoundingBox() | BoundingBox | Väliaikainen toteutus tässä versiossa — palauttaa aina sentinelin BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Geometrialaskentaa ei suoriteta. |
getProperty(String name) | Object | Hakee ominaisuuden arvon nimen perusteella |
findProperty(String name) | Property | Etsii ominaisuuden nimen perusteella |
Methods
Luo skene, liitä mesh solmuun ja käy läpi skenegrafi:
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());
}
}