Node — Aspose.3D FOSS for Java
Methods
Methods Node Η κλάση αντιπροσωπεύει ένα ονομαστικό στοιχείο στο γράφημα σκηνής Aspose.3D. Κάθε κόμβος μπορεί να περιέχει ένα Entity (όπως ένα Mesh ή 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 διατηρεί σχέσεις γονέα-παιδιού με άλλους κόμβους και μεταφέρει έναν τοπικό μετασχηματισμό. Οι κόμβοι είναι ο κύριος τρόπος οργάνωσης αντικειμένων 3D σε μια ιεραρχία σκηνής.
| Methods | Methods | Methods |
|---|---|---|
name | String | Ο κατασκευαστής αρχικοποιεί έναν κόμβο με προαιρετικό όνομα. |
Methods
Όλα τα χαρακτηριστικά του κόμβου προσπελάζονται μέσω μεθόδων getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Προαιρετικό όνομα για τον κόμβο |
entity | Entity | getEntity() | setEntity(Entity) | Αναγνώσιμο από άνθρωπο αναγνωριστικό για τον κόμβο., Mesh, CameraΗ κύρια οντότητα που είναι συνδεδεμένη σε αυτόν τον κόμβο (π.χ., getEntities(). |
entities | List<Entity> | getEntities() | – | ). Συντόμευση για το πρώτο στοιχείο του |
material | Material | getMaterial() | setMaterial(Material) | Όλες οι οντότητες που είναι συνδεδεμένες σε αυτόν τον κόμβο (μόνο για ανάγνωση) |
materials | List<Material> | getMaterials() | – | Το κύριο υλικό που έχει εκχωρηθεί σε αυτόν τον κόμβο |
childNodes | List<Node> | getChildNodes() | – | Όλα τα υλικά που έχουν εκχωρηθεί σε αυτόν τον κόμβο (μόνο για ανάγνωση) |
parentNode | Node | getParentNode() | setParentNode(Node) | Λίστα παιδικών κόμβωνgetParentNodes() Άμεσος γονικός κόμβος στην ιεραρχία σκηνής ( Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false, ο κόμβος και το υποδέντρο του είναι κρυμμένα |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, αυτός ο κόμβος εξαιρείται από την απόδοση |
transform | Transform | getTransform() | – | Τοπικός μετασχηματισμός (μετάφραση, περιστροφή, κλίμακα) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Μήτρα μετασχηματισμού παγκόσμιου χώρου |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Μεταδεδομένα περιουσιακού στοιχείου συνδεδεμένα με αυτόν τον κόμβο, εάν υπάρχουν |
properties | PropertyCollection | getProperties() | – | Προσαρμοσμένες ιδιότητες που έχουν προσαρτηθεί σε αυτόν τον κόμβο |
Methods
| Methods | Τύπος Επιστροφής | Methods |
|---|---|---|
createChildNode(String name) | Node | Δημιουργεί και προσαρτά έναν νέο υποκόμβο με το δοσμένο όνομα |
createChildNode(String name, Entity entity) | Node | Δημιουργεί έναν υποκόμβο και του εκχωρεί μια οντότητα |
addChildNode(Node node) | void | Προσθέτει έναν υπάρχοντα κόμβο ως υποκόμβο αυτού του κόμβου |
getChild(String name) | Node | Βρίσκει έναν άμεσο υποκόμβο με βάση το όνομα |
addEntity(Entity entity) | void | Προσαρτά μια επιπλέον οντότητα σε αυτόν τον κόμβο |
merge(Node node) | void | Συγχωνεύει τα παιδιά και τις οντότητες ενός άλλου κόμβου σε αυτόν τον κόμβο |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Επιστρέφει τον πίνακα μετασχηματισμού του κόσμου· περάστε true για να συμπεριλάβετε γεωμετρικές μετατοπίσεις |
getBoundingBox() | BoundingBox | Πρόχειρο σε αυτήν την έκδοση — πάντα επιστρέφει έναν sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Δεν εκτελείται υπολογισμός γεωμετρίας. |
getProperty(String name) | Object | Λαμβάνει την τιμή μιας ιδιότητας με βάση το όνομα |
findProperty(String name) | Property | Βρίσκει μια ιδιότητα με βάση το όνομα |
Methods
Δημιουργήστε μια σκηνή, συνδέστε ένα mesh σε έναν κόμβο και διασχίστε το γράφημα σκηνής:
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());
}
}