Entity — Aspose.3D FOSS for Java

Example

Example Entity class 是可附加到 a 的对象的抽象基类 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());
    }
}

另见

 中文