A3DObject / SceneObject / Entity

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 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;

См. также

 Русский