Entity
Methods
Methods Entity class este clasa de bază abstractă pentru obiectele care pot fi atașate la un Node în graficul de scenă Aspose.3D. Subclase concrete includ Mesh, Camera, Light, și Geometry. Entity oferă acces la ierarhia nodului părinte și expune excluded proprietatea pentru controlul vizibilității.
Toate atributele enumerate mai jos sunt proprietăți; accesați-le fără paranteze.
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
Subclase: Geometry → Mesh, Camera, Light, și altele.
Methods
Entity este o clasă de bază abstractă și nu este instanțiată direct. Utilizați o subclasă concretă, cum ar fi Mesh.
Methods
| Methods | Methods | Methods |
|---|---|---|
parent_nodes | list[Node] (doar citire) | Toate nodurile părinte la care este atașată această entitate. Suportă instanțierea (aceeași entitate referențiată din mai multe noduri). |
parent_node | Optional[Node] (citire/scriere) | Nodul părinte principal, sau None dacă entitatea nu este atașată. |
excluded | bool (citire/scriere) | Methods True, această entitate este exclusă din randare. Accesați și setați ca proprietate: entity.excluded = True. |
name | str (citire/scriere) | Nume ușor de citit pentru această entitate. |
properties | PropertyCollection (doar citire) | Colecție de proprietăți personalizate. |
Methods
| Methods | Tip de returnare | Methods |
|---|---|---|
get_property(name) | Any | Obține valoarea unei proprietăţi după nume. |
find_property(name) | Optional[Property] | Găsește o proprietate după nume. |
Important: parent_node, parent_nodes, și excluded sunt proprietăţi, nu metode. Nu le apelaţi cu paranteze. Modelele corecte sunt:
# 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() # TypeErrorPentru a seta parent_node, atribuiţi proprietăţii:
entity.parent_node = some_node # CORRECTMethods
Inspectați starea entității după încărcarea unei scene:
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}")