Node

Phương pháp

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());
}

Phương pháp

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.

NameTypeAccessDescription
assetInfoAssetInfoReadGets the asset info.
visiblebooleanReadGets the visible.
childNodesList<Node>ReadGets the child nodes.
entityEntityReadGets the entity.
excludedbooleanReadGets the excluded.
entitiesList<Entity>ReadGets the entities.
metaDatasList<CustomObject>ReadGets the meta datas.
materialsList<Material>ReadGets the materials.
materialMaterialReadGets the material.
parentNodeNodeReadGets the parent node.
transformTransformReadGets the transform.
globalTransformGlobalTransformReadGets the global transform.
boundingBoxBoundingBoxReadGets the bounding box.
sceneSceneReadGets the scene.
nameStringReadGets the name.
propertiesPropertyCollectionReadGets the properties.

Phương pháp

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.

SignatureDescription
Node()Calls Node on this Node instance.
Node(name: String)Calls Node(name) on this Node instance.
Node(name: String, entity: Entity)Calls Node(name, entity) on this Node instance.
getAssetInfo()AssetInfoReturns the asset info.
setAssetInfo(value: AssetInfo)Sets the asset info value.
getVisible()booleanReturns the visible.
setVisible(value: boolean)Sets the visible value.
getChildNodes()List<Node>Returns the child nodes.
createChildNode()NodeCalls createChildNode on this Node instance.
createChildNode(name: String)NodeCalls createChildNode(name) on this Node instance.
createChildNode(entity: Entity)NodeCalls createChildNode(entity) on this Node instance.
createChildNode(name: String, entity: Entity)NodeCalls createChildNode(name, entity) on this Node instance.
createChildNode(name: String, entity: Entity, material: Material)NodeCalls createChildNode(name, entity, material) on this Node instance.
merge(other: Node)Calls merge(other) on this Node instance.
getEntity()EntityReturns the entity.
setEntity(value: Entity)Sets the entity value.
getExcluded()booleanReturns the excluded.
setExcluded(value: boolean)Sets the excluded value.
getEntities()List<Entity>Returns the entities.
getMetaDatas()List<CustomObject>Returns the meta datas.
getMaterials()List<Material>Returns the materials.
getMaterial()MaterialReturns the material.
setMaterial(value: Material)Sets the material value.
getParentNode()NodeReturns the parent node.
setParentNode(value: Node)Sets the parent node value.
getTransform()TransformReturns the transform.
getGlobalTransform()GlobalTransformReturns the global transform.
evaluateGlobalTransform(includeGeometricTransform: boolean)Matrix4Calls evaluateGlobalTransform(includeGeometricTransform) on this Node instance.
getChild(index: int)NodeCalls getChild(index) on this Node instance.
getChild(name: String)NodeCalls getChild(name) on this Node instance.
accept(visitor: NodeVisitor)booleanCalls accept(visitor) on this Node instance.
getBoundingBox()BoundingBoxReturns the bounding box.
addEntity(entity: Entity)Calls addEntity(entity) on this Node instance.
addChildNode(node: Node)Calls addChildNode(node) on this Node instance.
selectSingleObject(query: String)ObjectCalls selectSingleObject(query) on this Node instance.
selectObjects(query: String)ArrayList<Object>Calls selectObjects(query) on this Node instance.
toString()StringCalls toString on this Node instance.
addEntity(entity: Entity, material: Material)Calls addEntity(entity, material) on this Node instance.
SceneObject()Boolean operator allows you to apply Boolean operation on two IMeshConvertible instances.
getScene()SceneConstructor of BooleanOperator.
A3DObject()Parameterized Cylinder. It can also be used to represent a cone when one of radiusTop/radiusBottom is zero.
getName()StringThe segments of the curve.
setName(name: String)Constructs a CircleShape profile with specified radius.
getProperties()PropertyCollectionInitializes a new instance of Cylinder class.
findProperty(name: String)PropertyInitializes a new instance of the Bone class.
getProperty(name: String)ObjectGets the transform matrix of the node in current pose.
setProperty(name: String, value: Object)Gets the width segments.
removeProperty(name: String)booleanGets flip coordinate system of control points/normal during importing/exporting.

Phương pháp

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

Phương pháp

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