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[] | читати | Усі батьківські вузли, які посилаються на цей entity (копія лише для читання). У більшості сцен entity має рівно одного батька. |
excluded | boolean | читати/записувати | true, entity виключається з рендерингу та експорту. За замовчуванням false. |
getBoundingBox()
Повертає орієнтовану по осях обмежувальну коробку для цього entity. Генерує виключення в базовому класі; реалізовано у конкретних підкласах, таких як 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;