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 INamedObject

new A3DObject(name?: string)

namestring读/写人类可读的名称。默认是 ''.
propertiesPropertyCollection读取动态属性集合。使用以下方式遍历 for...of 或按名称查询。.

findProperty(propertyName)

返回 Property 使用给定的名称,或 null 如果不存在。.

findProperty(propertyName: string): Property | null

getProperty(property)

返回具名属性的值,或 null 如果属性不存在。.

getProperty(property: string): any

setProperty(property, value)

设置指定属性的值。如果属性尚不存在则创建它。.

setProperty(property: string, value: any): void

removeProperty(property)

移除具名属性或一个 Property 实例从集合中。.

removeProperty(property: string | Property): boolean

toString()

"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 A3DObject

A3DObjectSceneObject

附加属性

scene`Scenenull`读/写

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 SceneObject

A3DObjectSceneObjectEntity

parentNode`Nodeundefined`读/写
parentNodesNode[]所有引用此实体的父节点(只读副本)。在大多数场景中,一个实体恰好只有一个父节点。.
excludedboolean读/写
true, 该实体在渲染和导出时被排除。默认值为 false.

getBoundingBox()

返回此实体的轴对齐包围盒。基类会抛出异常;由具体子类实现,例如 Mesh.

getBoundingBox(): BoundingBox

getEntityRendererKey()

返回用于标识该实体类型渲染路径的渲染器键。基类会抛出异常;在内部使用。.

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;

另见

 中文