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 Ο κατασκευαστής αρχικοποιεί έναν κόμβο με προαιρετικό όνομα.

MethodsMethodsMethods
namestrΠροαιρετικό όνομα για τον κόμβο

Methods

Όλα τα παρακάτω χαρακτηριστικά του κόμβου είναι ιδιότητες; προσπελάστε τα χωρίς παρενθέσεις.

MethodsMethodsMethods
namestrΑναγνώσιμο αναγνωριστικό για τον κόμβο
entity`EntityNone`
entitieslist[Entity]Όλες οι οντότητες που είναι συνδεδεμένες σε αυτόν τον κόμβο (μόνο για ανάγνωση). Ένας κόμβος μπορεί να αναφέρεται σε περισσότερες από μία οντότητες.
material`MaterialNone`
materialslist[Material]Όλα τα υλικά που έχουν εκχωρηθεί σε αυτόν τον κόμβο (μόνο για ανάγνωση).
child_nodeslist[Node]Λίστα παιδικών κόμβων. Χρησιμοποιήστε child_nodes: όχι children
parent_node`NodeNone`
parent_nodeslist[Node]Όλοι οι γονικοί κόμβοι (κληρονομούνται από Entity; υποστηρίζει instancing)
visibleboolMethods False, ο κόμβος και το υποδέντρο του είναι κρυμμένα σε προβολείς που σέβονται την ορατότητα.
excludedboolMethods True, αυτός ο κόμβος εξαιρείται από την απόδοση
transformTransformΤοπικός μετασχηματισμός (μετατόπιση, περιστροφή, κλίμακα)
global_transformGlobalTransformΜήτρα μετασχηματισμού σε παγκόσμιο χώρο
asset_info`AssetInfoNone`
propertiesPropertyCollectionΠροσαρμοσμένες ιδιότητες συνδεδεμένες με αυτόν τον κόμβο

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}")

Δείτε επίσης

 Ελληνικά