Node
Example
Example Node class 表示 Aspose.3D 场景图中的命名元素。每个节点可以容纳一个 Entity (例如一个 Mesh 或 Camera),维护与其他节点的父子关系,并携带本地变换。节点是组织场景层次结构中 3D 对象的主要方式。.
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());
}Example
Example Node 构造函数使用可选名称初始化节点。.
| Name | Type | Access | Description |
|---|---|---|---|
assetInfo | AssetInfo | Read | Gets the asset info. |
visible | boolean | Read | Gets the visible. |
childNodes | List<Node> | Read | Gets the child nodes. |
entity | Entity | Read | Gets the entity. |
excluded | boolean | Read | Gets the excluded. |
entities | List<Entity> | Read | Gets the entities. |
metaDatas | List<CustomObject> | Read | Gets the meta datas. |
materials | List<Material> | Read | Gets the materials. |
material | Material | Read | Gets the material. |
parentNode | Node | Read | Gets the parent node. |
transform | Transform | Read | Gets the transform. |
globalTransform | GlobalTransform | Read | Gets the global transform. |
boundingBox | BoundingBox | Read | Gets the bounding box. |
scene | Scene | Read | Gets the scene. |
name | String | Read | Gets the name. |
properties | PropertyCollection | Read | Gets the properties. |
Example
所有节点属性均通过 getter/setter 方法访问。.
| Signature | Description |
|---|---|
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() → AssetInfo | Returns the asset info. |
setAssetInfo(value: AssetInfo) | Sets the asset info value. |
getVisible() → boolean | Returns the visible. |
setVisible(value: boolean) | Sets the visible value. |
getChildNodes() → List<Node> | Returns the child nodes. |
createChildNode() → Node | Calls createChildNode on this Node instance. |
createChildNode(name: String) → Node | Calls createChildNode(name) on this Node instance. |
createChildNode(entity: Entity) → Node | Calls createChildNode(entity) on this Node instance. |
createChildNode(name: String, entity: Entity) → Node | Calls createChildNode(name, entity) on this Node instance. |
createChildNode(name: String, entity: Entity, material: Material) → Node | Calls createChildNode(name, entity, material) on this Node instance. |
merge(other: Node) | Calls merge(other) on this Node instance. |
getEntity() → Entity | Returns the entity. |
setEntity(value: Entity) | Sets the entity value. |
getExcluded() → boolean | Returns 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() → Material | Returns the material. |
setMaterial(value: Material) | Sets the material value. |
getParentNode() → Node | Returns the parent node. |
setParentNode(value: Node) | Sets the parent node value. |
getTransform() → Transform | Returns the transform. |
getGlobalTransform() → GlobalTransform | Returns the global transform. |
evaluateGlobalTransform(includeGeometricTransform: boolean) → Matrix4 | Calls evaluateGlobalTransform(includeGeometricTransform) on this Node instance. |
getChild(index: int) → Node | Calls getChild(index) on this Node instance. |
getChild(name: String) → Node | Calls getChild(name) on this Node instance. |
accept(visitor: NodeVisitor) → boolean | Calls accept(visitor) on this Node instance. |
getBoundingBox() → BoundingBox | Returns 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) → Object | Calls selectSingleObject(query) on this Node instance. |
selectObjects(query: String) → ArrayList<Object> | Calls selectObjects(query) on this Node instance. |
toString() → String | Calls 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() → Scene | Constructor of BooleanOperator. |
A3DObject() | Parameterized Cylinder. It can also be used to represent a cone when one of radiusTop/radiusBottom is zero. |
getName() → String | The segments of the curve. |
setName(name: String) | Constructs a CircleShape profile with specified radius. |
getProperties() → PropertyCollection | Initializes a new instance of Cylinder class. |
findProperty(name: String) → Property | Initializes a new instance of the Bone class. |
getProperty(name: String) → Object | Gets the transform matrix of the node in current pose. |
setProperty(name: String, value: Object) | Gets the width segments. |
removeProperty(name: String) → boolean | Gets flip coordinate system of control points/normal during importing/exporting. |
Example
| Example | 返回类型 | Example |
|---|---|---|
createChildNode(String name) | Node | 创建并附加一个具有给定名称的新子节点 |
createChildNode(String name, Entity entity) | Node | 创建子节点并为其分配实体 |
addChildNode(Node node) | void | 将现有节点添加为此节点的子节点 |
getChild(String name) | Node | 按名称查找直接子节点 |
addEntity(Entity entity) | void | 为此节点附加额外的实体 |
merge(Node node) | void | 将另一个节点的子节点和实体合并到此节点中 |
evaluateGlobalTransform(boolean withGeometricTransform) | Matrix4 | 返回世界空间变换矩阵;传递 true 以包含几何偏移 |
getBoundingBox() | BoundingBox | 计算节点在世界空间中的轴对齐包围盒 |
getProperty(String name) | Object | 按名称获取属性值 |
findProperty(String name) | Property | 按名称查找属性 |
Example
创建场景,将网格附加到节点,并遍历场景图::
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());
}
}