Entity
Methods
Methods Entity class ist die abstrakte Basisklasse für Objekte, die an ein Node im Aspose.3D Szenengraphen. Konkrete Unterklassen umfassen Mesh, Camera, Light, und Geometry. Entity bietet Zugriff auf die übergeordnete Knotenhierarchie und stellt die excluded Eigenschaft für die Sichtbarkeitssteuerung.
Alle unten aufgeführten Attribute sind Eigenschaften; greife darauf zu, ohne Klammern zu verwenden.
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
Unterklassen: Geometry → Mesh, Camera, Light, und andere.
Methods
Entity ist eine abstrakte Basisklasse und wird nicht direkt instanziiert. Verwenden Sie eine konkrete Unterklasse wie Mesh.
Methods
| Methods | Methods | Methods |
|---|---|---|
parent_nodes | list[Node] (schreibgeschützt) | Alle übergeordneten Knoten, an die diese Entität angehängt ist. Unterstützt Instancing (dieselbe Entität wird von mehreren Knoten referenziert). |
parent_node | Optional[Node] (lesbar/schreibbar) | Der primäre übergeordnete Knoten, oder None wenn die Entität nicht angehängt ist. |
excluded | bool (lesbar/schreibbar) | Methods True, diese Entität ist vom Rendering ausgeschlossen. Zugriff und Festlegung als Eigenschaft: entity.excluded = True. |
name | str (lesbar/schreibbar) | Menschlich lesbarer Name für diese Entität. |
properties | PropertyCollection (schreibgeschützt) | Sammlung benutzerdefinierter Eigenschaften. |
Methods
| Methods | Rückgabetyp | Methods |
|---|---|---|
get_property(name) | Any | Ruft den Wert einer Eigenschaft anhand ihres Namens ab. |
find_property(name) | Optional[Property] | Findet eine Eigenschaft anhand des Namens. |
Wichtig: parent_node, parent_nodes, und excluded sind Eigenschaften, keine Methoden. Rufen Sie sie nicht mit Klammern auf. Die korrekten Muster sind:
# 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() # TypeErrorUm zu setzen parent_node, weisen Sie der Eigenschaft zu:
entity.parent_node = some_node # CORRECTMethods
Untersuche den Zustand der Entity nach dem Laden einer Szene:
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}")