Entity — Aspose.3D FOSS for Java

Example

Example Entity clasa este clasa de bază abstractă pentru obiecte care pot fi atașate la un Node în graficul de scenă Aspose.3D. Subclase concrete includ Mesh, Camera, Light, și Geometry. Entity oferă acces la ierarhia nodului părinte și expune getExcluded() metoda pentru controlul vizibilității.

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

Subclase: Geometry -> Mesh, Camera, Light, și altele.

Example

Entity este o clasă de bază abstractă și nu este instanțiată direct. Folosiți o subclasă concretă, cum ar fi Mesh.

Example

ExampleExampleExampleExampleExample
parentNodesList<Node>getParentNodes()Toate nodurile părinte la care este atașată această entitate. Suportă instanțierea (aceeași entitate referențiată din mai multe noduri).
parentNodeNodegetParentNode()setParentNode(Node)Nodul părinte principal, sau null dacă entitatea nu este atașată.
excludedbooleangetExcluded()setExcluded(boolean)Example true, această entitate este exclusă din redare.
nameStringgetName()setName(String)Nume ușor de citit pentru această entitate.
propertiesPropertyCollectiongetProperties()Colecție de proprietăți personalizate.

Example

ExampleTipul de returnareExample
getProperty(String name)ObjectObține valoarea unei proprietăți după nume.
findProperty(String name)PropertyGăsește o proprietate după nume.

Example

Inspectați starea entității după încărcarea unei scene:

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

Vezi și

 Română