Entity — Aspose.3D FOSS for Java

Example

Example Entity class является абстрактным базовым классом для объектов, которые могут быть присоединены к Node в Aspose.3D графе сцены. Конкретные подклассы включают Mesh, Camera, Light, и Geometry. Entity предоставляет доступ к иерархии родительских узлов и раскрывает getExcluded() метод управления видимостью.

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

Подклассы: Geometry -> Mesh, Camera, Light, и другие.

Example

Entity является абстрактным базовым классом и не инстанцируется напрямую. Используйте конкретный подкласс, например Mesh.

Example

ExampleExampleExampleExampleExample
parentNodesList<Node>getParentNodes()Все родительские узлы, к которым прикреплена эта сущность. Поддерживает инстанцирование (одна и та же сущность может быть ссылкой из нескольких узлов).
parentNodeNodegetParentNode()setParentNode(Node)Основной родительский узел, или null если сущность не прикреплена.
excludedbooleangetExcluded()setExcluded(boolean)Example true, эта сущность исключена из рендеринга.
nameStringgetName()setName(String)Человекочитаемое имя этой сущности.
propertiesPropertyCollectiongetProperties()Коллекция пользовательских свойств.

Example

ExampleТип возвращаемого значенияExample
getProperty(String name)ObjectПолучает значение свойства по имени.
findProperty(String name)PropertyНаходит свойство по имени.

Example

Проверьте состояние сущности после загрузки сцены:

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

См. также

 Русский