Entity — Aspose.3D FOSS for Java

Example

Example 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 getExcluded() Methode zur Sichtbarkeitssteuerung bereit.

import com.aspose.threed.Scene;
import com.aspose.threed.*;

Scene scene = Scene.fromFile("model.obj");

for (Node node : scene.getRootNode().getChildNodes()) {
    Entity entity = node.getEntity();
    if (entity != null) {
        if (!entity.getExcluded()) {
            Node parent = entity.getParentNode();
            System.out.println("Active entity '" + entity.getName()
                + "', parent: " + (parent != null ? parent.getName() : "None"));
        }
    }
}

Example

A3DObject -> SceneObject -> Entity

Unterklassen: Geometry -> Mesh, Camera, Light, und andere.

Example

Entity ist eine abstrakte Basisklasse und wird nicht direkt instanziiert. Verwenden Sie eine konkrete Unterklasse wie Mesh.

Example

ExampleExampleExampleExampleExample
parentNodesList<Node>getParentNodes()Alle übergeordneten Knoten, an die diese Entität angehängt ist. Unterstützt Instanzierung (dieselbe Entität wird von mehreren Knoten referenziert).
parentNodeNodegetParentNode()setParentNode(Node)Der primäre übergeordnete Knoten, oder null wenn die Entität nicht angehängt ist.
excludedbooleangetExcluded()setExcluded(boolean)Example true, diese Entität wird vom Rendern ausgeschlossen.
nameStringgetName()setName(String)Menschlich lesbarer Name für diese Entität.
propertiesPropertyCollectiongetProperties()Sammlung benutzerdefinierter Eigenschaften.

Example

ExampleRückgabetypExample
getProperty(String name)ObjectLiest einen Eigenschaftswert nach Namen.
findProperty(String name)PropertyFindet eine Eigenschaft nach Namen.

Example

Untersuchen Sie den Zustand der Entität nach dem Laden einer Szene:

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.Entity;
import com.aspose.threed.*;

Scene scene = Scene.fromFile("model.stl");

for (Node node : scene.getRootNode().getChildNodes()) {
    Entity entity = node.getEntity();
    if (entity == null) continue;

    System.out.println("Entity: " + (entity.getName().isEmpty() ? "(unnamed)" : entity.getName()));
    System.out.println("  Type: " + entity.getClass().getSimpleName());
    System.out.println("  Excluded: " + entity.getExcluded());
    System.out.println("  Parent node: "
        + (entity.getParentNode() != null ? entity.getParentNode().getName() : "None"));

    if (entity instanceof Mesh) {
        Mesh mesh = (Mesh) entity;
        System.out.println("  Vertices: " + mesh.getControlPoints().size());
        System.out.println("  Polygons: " + mesh.getPolygonCount());
    }
}

Siehe auch

 Deutsch