Entity
Methods
Methods Entity class est la classe de base abstraite pour les objets qui peuvent être attachés à un Node dans le graphe de scène Aspose.3D. Les sous‑classes concrètes incluent Mesh, Camera, Light, et Geometry. Entity fournit un accès à la hiérarchie des nœuds parents et expose le excluded propriété pour le contrôle de la visibilité.
Tous les attributs listés ci‑dessous sont propriétés; accédez‑y sans parenthèses.
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
Sous‑classes : Geometry → Mesh, Camera, Light, et d’autres.
Methods
Entity est une classe de base abstraite et n’est pas instanciée directement. Utilisez une sous‑classe concrète telle que Mesh.
Methods
| Methods | Methods | Methods |
|---|---|---|
parent_nodes | list[Node] (lecture seule) | Tous les nœuds parents auxquels cette entité est attachée. Prend en charge l’instanciation (même entité référencée depuis plusieurs nœuds). |
parent_node | Optional[Node] (lecture/écriture) | Le nœud parent principal, ou None si l’entité n’est pas attachée. |
excluded | bool (lecture/écriture) | Methods True, cette entité est exclue du rendu. Accédez et définissez-la comme une propriété : entity.excluded = True. |
name | str (lecture/écriture) | Nom lisible par l’homme pour cette entité. |
properties | PropertyCollection (lecture seule) | Collection de propriétés personnalisées. |
Methods
| Methods | Type de retour | Methods |
|---|---|---|
get_property(name) | Any | Obtient la valeur d’une propriété par son nom. |
find_property(name) | Optional[Property] | Trouve une propriété par son nom. |
Important : parent_node, parent_nodes, et excluded sont propriétés, pas des méthodes. Ne les appelez pas avec des parenthèses. Les modèles corrects sont :
# 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() # TypeErrorPour définir parent_node, affectez la propriété :
entity.parent_node = some_node # CORRECTMethods
Inspectez l’état de l’entité après le chargement d’une scène :
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}")