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