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

getBoundingBox()

Повертає орієнтовану по осях обмежувальну коробку для цього entity. Генерує виключення в базовому класі; реалізовано у конкретних підкласах, таких як 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;

Див. також

 Українська