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

A3DObjectSceneObjectEntity

Sous‑classes : GeometryMesh, 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

MethodsMethodsMethods
parent_nodeslist[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_nodeOptional[Node] (lecture/écriture)Le nœud parent principal, ou None si l’entité n’est pas attachée.
excludedbool (lecture/écriture)Methods True, cette entité est exclue du rendu. Accédez et définissez-la comme une propriété : entity.excluded = True.
namestr (lecture/écriture)Nom lisible par l’homme pour cette entité.
propertiesPropertyCollection (lecture seule)Collection de propriétés personnalisées.

Methods

MethodsType de retourMethods
get_property(name)AnyObtient 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()     # TypeError

Pour définir parent_node, affectez la propriété :

entity.parent_node = some_node    # CORRECT

Methods

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

Voir aussi

 Français