Node — Aspose.3D FOSS for Java
Methods
Methods Node class đại diện cho một phần tử có tên trong Aspose.3D scene graph. Mỗi nút có thể chứa một Entity (chẳng hạn như một Mesh hoặc Camera).
import com.aspose.threed.Scene;
import com.aspose.threed.Node;
Scene scene = new Scene();
// Access the root node via getter
Node root = scene.getRootNode();
// Create a child node
Node child = root.createChildNode("my_node");
// Iterate child nodes via getter
for (Node node : root.getChildNodes()) {
System.out.println(node.getName());
}Methods
Methods Node duy trì các quan hệ cha‑con với các nút khác, và mang một phép biến đổi cục bộ. Các nút là cách chính để tổ chức các đối tượng 3D trong một cây phân cấp cảnh.
| Methods | Methods | Methods |
|---|---|---|
name | String | constructor khởi tạo một nút với tên tùy chọn. |
Methods
Tất cả các thuộc tính của node được truy cập thông qua các phương thức getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Tên tùy chọn cho nút |
entity | Entity | getEntity() | setEntity(Entity) | Định danh có thể đọc được cho người dùng cho nút., Mesh, CameraThực thể chính được gắn vào nút này (ví dụ, getEntities(). |
entities | List<Entity> | getEntities() | – | ). Phím tắt cho phần tử đầu tiên của |
material | Material | getMaterial() | setMaterial(Material) | Tất cả các thực thể được gắn vào nút này (chỉ đọc) |
materials | List<Material> | getMaterials() | – | Vật liệu chính được gán cho nút này |
childNodes | List<Node> | getChildNodes() | – | Tất cả vật liệu được gán cho nút này (chỉ đọc) |
parentNode | Node | getParentNode() | setParentNode(Node) | Danh sách các nút congetParentNodes() Nút cha trực tiếp trong cây phân cấp cảnh ( Node) |
visible | boolean | getVisible() | setVisible(boolean) | Methods false,không khả dụng trên, nút và cây con của nó sẽ bị ẩn |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, nút này bị loại trừ khỏi việc render |
transform | Transform | getTransform() | – | Biến đổi cục bộ (dịch chuyển, quay, tỷ lệ) |
globalTransform | GlobalTransform | getGlobalTransform() | – | Ma trận biến đổi không gian thế giới |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Siêu dữ liệu tài sản được gắn vào nút này, nếu có |
properties | PropertyCollection | getProperties() | – | Các thuộc tính tùy chỉnh được gắn vào nút này |
Methods
| Methods | Kiểu trả về | Methods |
|---|---|---|
createChildNode(String name) | Node | Tạo và gắn một nút con mới với tên đã cho |
createChildNode(String name, Entity entity) | Node | Tạo một nút con và gán một thực thể cho nó |
addChildNode(Node node) | void | Thêm một nút hiện có làm con của nút này |
getChild(String name) | Node | Tìm một nút con trực tiếp theo tên |
addEntity(Entity entity) | void | Gắn một thực thể bổ sung vào nút này |
merge(Node node) | void | Hợp nhất các nút con và thực thể của một nút khác vào nút này |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | Trả về ma trận biến đổi không gian thế giới; truyền true để bao gồm các độ dịch hình học |
getBoundingBox() | BoundingBox | Mẫu trong phiên bản này — luôn trả về một sentinel BoundingBox (min = Double.MAX_VALUE, max = Double.MIN_VALUE). Không thực hiện tính toán hình học. |
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 |
Methods
Tạo một scene, gắn một mesh vào node, và duyệt đồ thị cảnh:
import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.*;
Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);
// Attach mesh to a child node
Node node = scene.getRootNode().createChildNode("triangle", mesh);
// Traverse child nodes using getter
for (Node child : scene.getRootNode().getChildNodes()) {
Entity entity = child.getEntity();
if (entity != null) {
System.out.println("Node '" + child.getName() + "': " + entity.getClass().getSimpleName());
System.out.println(" Excluded: " + child.getExcluded());
}
}