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
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
parentNodes | List<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). |
parentNode | Node | getParentNode() | setParentNode(Node) | Nodul părinte principal, sau null dacă entitatea nu este atașată. |
excluded | boolean | getExcluded() | setExcluded(boolean) | Example true, această entitate este exclusă din redare. |
name | String | getName() | setName(String) | Nume ușor de citit pentru această entitate. |
properties | PropertyCollection | getProperties() | – | Colecție de proprietăți personalizate. |
Example
| Example | Tipul de returnare | Example |
|---|---|---|
getProperty(String name) | Object | Obține valoarea unei proprietăți după nume. |
findProperty(String name) | Property | Gă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());
}
}