Entity
Methods
Methods Entity class è la classe base astratta per gli oggetti che possono essere collegati a un Node nel grafo della scena Aspose.3D. Le sottoclassi concrete includono Mesh, Camera, Light, e Geometry. Entity fornisce l’accesso alla gerarchia dei nodi genitore e espone il excluded proprietà per il controllo della visibilità.
Tutti gli attributi elencati di seguito sono proprietà; accedervi senza parentesi.
from aspose.threed import Scene
from aspose.threed.entities import Mesh
scene = Scene.from_file("model.obj")
for node in scene.root_node.child_nodes:
entity = node.entity
if entity is not None:
# excluded is a property, not a method call
if not entity.excluded:
# parent_node is a property, not a method call
parent = entity.parent_node
print(f"Active entity '{entity.name}', parent: {parent.name if parent else 'None'}")Methods
A3DObject → SceneObject → Entity
Sottoclassi: Geometry → Mesh, Camera, Light, e altri.
Methods
Entity è una classe base astratta e non viene istanziata direttamente. Usa una sottoclasse concreta come Mesh.
Methods
| Methods | Methods | Methods |
|---|---|---|
parent_nodes | list[Node] (sola lettura) | Tutti i nodi genitore a cui questa entità è collegata. Supporta l’instancing (stessa entità referenziata da più nodi). |
parent_node | Optional[Node] (lettura/scrittura) | Il nodo genitore primario, o None se l’entità non è collegata. |
excluded | bool (lettura/scrittura) | Methods True, questa entità è esclusa dal rendering. Accedi e imposta come proprietà: entity.excluded = True. |
name | str (lettura/scrittura) | Nome leggibile dall’uomo per questa entità. |
properties | PropertyCollection (sola lettura) | Raccolta di proprietà personalizzate. |
Methods
| Methods | Tipo di ritorno | Methods |
|---|---|---|
get_property(name) | Any | Ottiene il valore di una proprietà per nome. |
find_property(name) | Optional[Property] | Trova una proprietà per nome. |
Importante: parent_node, parent_nodes, e excluded sono proprietà, non metodi. Non chiamarle con le parentesi. I pattern corretti sono:
# CORRECT
is_excluded = entity.excluded
parent = entity.parent_node
parents = entity.parent_nodes
# WRONG: do not do this
is_excluded = entity.excluded() # TypeError
parent = entity.parent_node() # TypeErrorPer impostare parent_node, assegna alla proprietà:
entity.parent_node = some_node # CORRECTMethods
Ispeziona lo stato dell’entità dopo aver caricato una scena:
from aspose.threed import Scene
from aspose.threed.entities import Mesh
scene = Scene.from_file("model.stl")
for node in scene.root_node.child_nodes:
entity = node.entity
if entity is None:
continue
# Properties accessed without parentheses
print(f"Entity: {entity.name or '(unnamed)'}")
print(f" Type: {type(entity).__name__}")
print(f" Excluded: {entity.excluded}")
print(f" Parent node: {entity.parent_node.name if entity.parent_node else 'None'}")
if isinstance(entity, Mesh):
print(f" Vertices: {len(entity.control_points)}")
print(f" Polygons: {entity.polygon_count}")