A3DObject / SceneObject / Entity
A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
包:: @aspose/3d (v24.12.0)
这三个类构成了 @aspose/3d 类层次结构。库中每个公共对象最终都扩展 A3DObject,,它提供名称和动态属性系统。. SceneObject 添加场景成员跟踪。. Entity 是所有可以附加到 Node 作为其主要实体(网格、相机、灯光等)。.
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
所有…的根基类 @aspose/3d 对象。实现 INamedObject.
export class A3DObject implements INamedObjectnew A3DObject(name?: string)name | string | 读/写 | 人类可读的名称。默认是 ''. |
properties | PropertyCollection | 读取 | 动态属性集合。使用以下方式遍历 for...of 或按名称查询。. |
findProperty(propertyName)
返回 Property 使用给定的名称,或 null 如果不存在。.
findProperty(propertyName: string): Property | nullgetProperty(property)
返回具名属性的值,或 null 如果属性不存在。.
getProperty(property: string): anysetProperty(property, value)
设置指定属性的值。如果属性尚不存在则创建它。.
setProperty(property: string, value: any): voidremoveProperty(property)
移除具名属性或一个 Property 实例从集合中。.
removeProperty(property: string | Property): booleantoString()
"ClassName(name)".import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('my_node');
node.setProperty('exportLayer', 2);
console.log(node.getProperty('exportLayer')); // 2
const prop = node.findProperty('name');
if (prop) {
console.log(prop.value); // my_node
console.log(prop.valueType); // string
}
for (const p of node.properties) {
console.log(`${p.name} = ${p.value}`);
}
node.removeProperty('exportLayer');
console.log(node.getProperty('exportLayer')); // null
SceneObject
A3DObject 带有对拥有者的引用 Scene.export class SceneObject extends A3DObjectA3DObject → SceneObject
附加属性
scene | `Scene | null` | 读/写 |
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
可附加到某个对象的所有对象的抽象基类 Node 作为其主要场景实体。子类包括 Mesh, Camera, Light,,以及几何类型。.
export class Entity extends SceneObjectA3DObject → SceneObject → Entity
parentNode | `Node | undefined` | 读/写 |
parentNodes | Node[] | 读 | 所有引用此实体的父节点(只读副本)。在大多数场景中,一个实体恰好只有一个父节点。. |
excluded | boolean | 读/写 | true, 该实体在渲染和导出时被排除。默认值为 false. |
getBoundingBox()
返回此实体的轴对齐包围盒。基类会抛出异常;由具体子类实现,例如 Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
返回用于标识该实体类型渲染路径的渲染器键。基类会抛出异常;在内部使用。.
import { Scene, Mesh } from '@aspose/3d';
const scene = new Scene();
const mesh = new Mesh();
// Add control points and a polygon
// ...
const node = scene.rootNode.createChildNode('geo', mesh);
console.log(mesh.parentNode === node); // true
console.log(mesh.excluded); // false
// Exclude from next export
mesh.excluded = true;