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.

MethodsMethodsMethods
nameStringconstructor 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.

MethodsMethodsMethodsMethodsMethods
nameStringgetName()setName(String)Tên tùy chọn cho nút
entityEntitygetEntity()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().
entitiesList<Entity>getEntities()). Phím tắt cho phần tử đầu tiên của
materialMaterialgetMaterial()setMaterial(Material)Tất cả các thực thể được gắn vào nút này (chỉ đọc)
materialsList<Material>getMaterials()Vật liệu chính được gán cho nút này
childNodesList<Node>getChildNodes()Tất cả vật liệu được gán cho nút này (chỉ đọc)
parentNodeNodegetParentNode()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)
visiblebooleangetVisible()setVisible(boolean)Methods false,không khả dụng trên, nút và cây con của nó sẽ bị ẩn
excludedbooleangetExcluded()setExcluded(boolean)Methods true, nút này bị loại trừ khỏi việc render
transformTransformgetTransform()Biến đổi cục bộ (dịch chuyển, quay, tỷ lệ)
globalTransformGlobalTransformgetGlobalTransform()Ma trận biến đổi không gian thế giới
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Siêu dữ liệu tài sản được gắn vào nút này, nếu có
propertiesPropertyCollectiongetProperties()Các thuộc tính tùy chỉnh được gắn vào nút này

Methods

MethodsKiểu trả vềMethods
createChildNode(String name)NodeTạo và gắn một nút con mới với tên đã cho
createChildNode(String name, Entity entity)NodeTạo một nút con và gán một thực thể cho nó
addChildNode(Node node)voidThêm một nút hiện có làm con của nút này
getChild(String name)NodeTìm một nút con trực tiếp theo tên
addEntity(Entity entity)voidGắn một thực thể bổ sung vào nút này
merge(Node node)voidHợ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)Matrix4Trả 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()BoundingBoxMẫ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)ObjectLấy giá trị thuộc tính theo tên
findProperty(String name)PropertyTì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());
    }
}

Xem thêm

 Tiếng Việt