Entity — Aspose.3D FOSS for Java
Example
Example Entity class là lớp cơ sở trừu tượng cho các đối tượng có thể được gắn vào một Node trong đồ thị cảnh Aspose.3D. Các lớp con cụ thể bao gồm Mesh, Camera, Light, và Geometry. Entity cung cấp quyền truy cập vào cây phân cấp nút cha và phơi bày getExcluded() phương thức để kiểm soát hiển thị.
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
Các lớp con: Geometry -> Mesh, Camera, Light, và các lớp khác.
Example
Entity là một lớp cơ sở trừu tượng và không được khởi tạo trực tiếp. Sử dụng một lớp con cụ thể như Mesh.
Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
parentNodes | List<Node> | getParentNodes() | – | Tất cả các nút cha mà thực thể này được gắn vào. Hỗ trợ tạo thể hiện (cùng một thực thể được tham chiếu từ nhiều nút). |
parentNode | Node | getParentNode() | setParentNode(Node) | Nút cha chính, hoặc null nếu thực thể không được gắn. |
excluded | boolean | getExcluded() | setExcluded(boolean) | Example true, thực thể này sẽ bị loại trừ khỏi việc render. |
name | String | getName() | setName(String) | Tên có thể đọc được cho thực thể này. |
properties | PropertyCollection | getProperties() | – | Bộ sưu tập các thuộc tính tùy chỉnh. |
Example
| Example | Kiểu trả về | Example |
|---|---|---|
getProperty(String name) | Object | Lấy giá trị thuộc tính theo tên. |
findProperty(String name) | Property | Tìm một thuộc tính theo tên. |
Example
Kiểm tra trạng thái thực thể sau khi tải một cảnh:
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());
}
}