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 σε μια ιεραρχία σκηνής.

MethodsMethodsMethods
nameStringΟ κατασκευαστής αρχικοποιεί έναν κόμβο με προαιρετικό όνομα.

Methods

Όλα τα χαρακτηριστικά του κόμβου προσπελάζονται μέσω μεθόδων getter/setter.

MethodsMethodsMethodsMethodsMethods
nameStringgetName()setName(String)Προαιρετικό όνομα για τον κόμβο
entityEntitygetEntity()setEntity(Entity)Αναγνώσιμο από άνθρωπο αναγνωριστικό για τον κόμβο., Mesh, CameraΗ κύρια οντότητα που είναι συνδεδεμένη σε αυτόν τον κόμβο (π.χ., getEntities().
entitiesList<Entity>getEntities()). Συντόμευση για το πρώτο στοιχείο του
materialMaterialgetMaterial()setMaterial(Material)Όλες οι οντότητες που είναι συνδεδεμένες σε αυτόν τον κόμβο (μόνο για ανάγνωση)
materialsList<Material>getMaterials()Το κύριο υλικό που έχει εκχωρηθεί σε αυτόν τον κόμβο
childNodesList<Node>getChildNodes()Όλα τα υλικά που έχουν εκχωρηθεί σε αυτόν τον κόμβο (μόνο για ανάγνωση)
parentNodeNodegetParentNode()setParentNode(Node)Λίστα παιδικών κόμβωνgetParentNodes() Άμεσος γονικός κόμβος στην ιεραρχία σκηνής ( Node)
visiblebooleangetVisible()setVisible(boolean)Methods false, ο κόμβος και το υποδέντρο του είναι κρυμμένα
excludedbooleangetExcluded()setExcluded(boolean)Methods true, αυτός ο κόμβος εξαιρείται από την απόδοση
transformTransformgetTransform()Τοπικός μετασχηματισμός (μετάφραση, περιστροφή, κλίμακα)
globalTransformGlobalTransformgetGlobalTransform()Μήτρα μετασχηματισμού παγκόσμιου χώρου
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Μεταδεδομένα περιουσιακού στοιχείου συνδεδεμένα με αυτόν τον κόμβο, εάν υπάρχουν
propertiesPropertyCollectiongetProperties()Προσαρμοσμένες ιδιότητες που έχουν προσαρτηθεί σε αυτόν τον κόμβο

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());
    }
}

Δείτε επίσης

 Ελληνικά