Entity — Aspose.3D FOSS for Java

Example

Example Entity class è la classe base astratta per gli oggetti che possono essere collegati a un Node nel grafo della scena Aspose.3D. Le sottoclassi concrete includono Mesh, Camera, Light, e Geometry. Entity fornisce l’accesso alla gerarchia dei nodi genitori e espone il getExcluded() metodo per il controllo della visibilità.

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

Sottoclassi: Geometry -> Mesh, Camera, Light, e altri.

Example

Entity è una classe base astratta e non viene istanziata direttamente. Usa una sottoclasse concreta come ad esempio Mesh.

Example

ExampleExampleExampleExampleExample
parentNodesList<Node>getParentNodes()Tutti i nodi genitori a cui questa entità è collegata. Supporta l’instancing (stessa entità referenziata da più nodi).
parentNodeNodegetParentNode()setParentNode(Node)Il nodo genitore primario, o null se l’entità non è collegata.
excludedbooleangetExcluded()setExcluded(boolean)Example true, questa entità è esclusa dal rendering.
nameStringgetName()setName(String)Nome leggibile dall’uomo per questa entità.
propertiesPropertyCollectiongetProperties()Raccolta di proprietà personalizzate.

Example

ExampleTipo di ritornoExample
getProperty(String name)ObjectOttiene il valore di una proprietà per nome.
findProperty(String name)PropertyTrova una proprietà per nome.

Example

Ispeziona lo stato dell’entità dopo aver caricato una scena:

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());
    }
}

Vedi anche

 Italiano