Entity — Aspose.3D FOSS for Java
Example
Example Entity class เป็นคลาสฐานเชิงนามธรรมสำหรับอ็อบเจ็กต์ที่สามารถแนบเข้ากับ Node ใน Aspose.3D scene graph. คลาสย่อยเชิงนามธรรมที่เป็นรูปธรรมรวมถึง 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
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
parentNodes | List<Node> | getParentNodes() | – | โหนดแม่ทั้งหมดที่เอนทิตีนี้ถูกแนบอยู่ รองรับการทำ instancing (same entity referenced from multiple nodes). |
parentNode | Node | getParentNode() | setParentNode(Node) | โหนดแม่หลัก, หรือ null หากเอนทิตีไม่ได้ถูกแนบ. |
excluded | boolean | getExcluded() | setExcluded(boolean) | Example true, เอนทิตีนี้จะถูกยกเว้นจากการเรนเดอร์. |
name | String | getName() | setName(String) | ชื่อที่อ่านได้โดยมนุษย์สำหรับเอนทิตีนี้. |
properties | PropertyCollection | getProperties() | – | คอลเลกชันของคุณสมบัติกำหนดเอง. |
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());
}
}