A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Пакет: @aspose/3d (v24.12.0)
Тези три класа образуват основата на @aspose/3d йерархията на класовете. Всеки публичен обект в библиотеката в крайна сметка разширява A3DObject, който предоставя името и динамичната система за свойства. SceneObject добавя проследяване на членство в сцена. Entity е основата за всички обекти, които могат да бъдат прикрепени към a Node като основната си единица (мрежи, камери, светлини и др.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Основният базов клас за всички @aspose/3d обекти. Реализира INamedObject.
export class A3DObject implements INamedObjectEnumerations
new A3DObject(name?: string)Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | string | четене/запис | Човекоразбираемо име. По подразбиране е ''. |
properties | PropertyCollection | четене | Динамична колекция от свойства. Итерайте с for...of или заявявайте по име. |
Enumerations
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()
Enumerations "ClassName(name)".
Enumerations
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
Enumerations A3DObject с препратка към притежаващия Scene.
export class SceneObject extends A3DObjectEnumerations
A3DObject → SceneObject
Допълнително свойство
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
scene | `Scene | null` | четене/запис |
Enumerations
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Enumerations
Абстрактна базова класа за всички обекти, които могат да бъдат прикрепени към Node като основната си сцена единица. Подкласовете включват Mesh, Camera, Light, и геометрични типове.
export class Entity extends SceneObjectEnumerations
A3DObject → SceneObject → Entity
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
parentNode | `Node | undefined` | четене/запис |
parentNodes | Node[] | четене | Всички родителски възли, които се отнасят до този обект (копие само за четене). В повечето сцени един обект има точно един родител. |
excluded | boolean | четене/запис | Enumerations true, обектът е изключен от рендерирането и експорта. По подразбиране е false. |
Enumerations
getBoundingBox()
Връща осево-ориентирания ограничителен куб за този обект. Хвърля изключение в базовия клас; реализира се от конкретни подкласове като Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Връща ключ за рендеръра, който идентифицира пътя за рендериране на този тип единица. Хвърля изключение в базовия клас; използва се вътрешно.
Enumerations
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;