Node
Methods
Methods Node η κλάση αντιπροσωπεύει ένα ονομαστικό στοιχείο στο Aspose.3D γράφημα σκηνής. Κάθε κόμβος μπορεί να κρατήσει ένα Entity (όπως ένα Mesh, Camera, ή Light), διατηρεί σχέσεις γονέα-παιδιού με άλλους κόμβους και φέρει τοπικό μετασχηματισμό. Οι κόμβοι είναι ο κύριος τρόπος οργάνωσης αντικειμένων 3D σε ιεραρχία σκηνής.
from aspose.threed import Scene, Node
scene = Scene()
# Access the root node: root_node is a property on Scene
root = scene.root_node
# Create a child node
child = root.create_child_node("my_node")
# child_nodes is a property: access without parentheses
for node in root.child_nodes:
print(node.name)Methods
Methods Node Ο κατασκευαστής αρχικοποιεί έναν κόμβο με προαιρετικό όνομα.
| Methods | Methods | Methods |
|---|---|---|
name | str | Προαιρετικό όνομα για τον κόμβο |
Methods
Όλα τα παρακάτω χαρακτηριστικά του κόμβου είναι ιδιότητες; προσπελάστε τα χωρίς παρενθέσεις.
| Methods | Methods | Methods |
|---|---|---|
name | str | Αναγνώσιμο αναγνωριστικό για τον κόμβο |
entity | `Entity | None` |
entities | list[Entity] | Όλες οι οντότητες που είναι συνδεδεμένες σε αυτόν τον κόμβο (μόνο για ανάγνωση). Ένας κόμβος μπορεί να αναφέρεται σε περισσότερες από μία οντότητες. |
material | `Material | None` |
materials | list[Material] | Όλα τα υλικά που έχουν εκχωρηθεί σε αυτόν τον κόμβο (μόνο για ανάγνωση). |
child_nodes | list[Node] | Λίστα παιδικών κόμβων. Χρησιμοποιήστε child_nodes: όχι children |
parent_node | `Node | None` |
parent_nodes | list[Node] | Όλοι οι γονικοί κόμβοι (κληρονομούνται από Entity; υποστηρίζει instancing) |
visible | bool | Methods False, ο κόμβος και το υποδέντρο του είναι κρυμμένα σε προβολείς που σέβονται την ορατότητα. |
excluded | bool | Methods True, αυτός ο κόμβος εξαιρείται από την απόδοση |
transform | Transform | Τοπικός μετασχηματισμός (μετατόπιση, περιστροφή, κλίμακα) |
global_transform | GlobalTransform | Μήτρα μετασχηματισμού σε παγκόσμιο χώρο |
asset_info | `AssetInfo | None` |
properties | PropertyCollection | Προσαρμοσμένες ιδιότητες συνδεδεμένες με αυτόν τον κόμβο |
Methods
| Methods | Τύπος Επιστροφής | Methods |
|---|---|---|
create_child_node(name) | Node | Δημιουργεί και συνδέει έναν νέο κόμβο-παιδί με το δοσμένο όνομα |
create_child_node(name, entity) | Node | Δημιουργεί έναν κόμβο-παιδί και του αναθέτει μια οντότητα |
add_child_node(node) | None | Προσθέτει έναν υπάρχοντα κόμβο ως παιδί αυτού του κόμβου |
get_child(name) | Optional[Node] | Βρίσκει έναν άμεσο κόμβο-παιδί με βάση το όνομα |
add_entity(entity) | None | Συνδέει μια επιπλέον οντότητα με αυτόν τον κόμβο |
merge(node) | None | Συγχωνεύει τα παιδιά και τις οντότητες ενός άλλου κόμβου σε αυτόν τον κόμβο |
evaluate_global_transform(with_geometric_transform) | Matrix4 | Επιστρέφει τη μήτρα μετασχηματισμού σε παγκόσμιο χώρο; περάστε True για να συμπεριλάβετε γεωμετρικές μετατοπίσεις |
get_bounding_box() | BoundingBox | Υπολογίζει το axis-aligned bounding box του κόμβου στον παγκόσμιο χώρο |
get_property(name) | Any | Λαμβάνει την τιμή μιας ιδιότητας με βάση το όνομα |
find_property(name) | Optional[Property] | Βρίσκει μια ιδιότητα με βάση το όνομα |
Methods
Δημιουργήστε μια σκηνή, συνδέστε ένα mesh σε έναν κόμβο και διασχίστε το γράφημα σκηνής:
from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4
scene = Scene()
mesh = Mesh()
# Use _control_points to mutate the backing list (control_points returns a copy)
mesh._control_points.append(Vector4(0, 0, 0, 1))
mesh._control_points.append(Vector4(1, 0, 0, 1))
mesh._control_points.append(Vector4(0.5, 1, 0, 1))
mesh.create_polygon(0, 1, 2)
# Attach mesh to a child node
node = scene.root_node.create_child_node("triangle", mesh)
# Traverse child_nodes (property, not a method)
for child in scene.root_node.child_nodes:
entity = child.entity
if entity is not None:
print(f"Node '{child.name}': {type(entity).__name__}")
# excluded is a property
print(f" Excluded: {entity.excluded}")