A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Paquete: @aspose/3d (v24.12.0)
Estas tres clases forman la base de la @aspose/3d jerarquía de clases. Cada objeto público en la biblioteca finalmente extiende A3DObject, que proporciona el nombre y el sistema de propiedades dinámicas. SceneObject añade el seguimiento de membresía de escena. Entity es la base para todos los objetos que pueden adjuntarse a un Node como su entidad principal (mallas, cámaras, luces, etc.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
La clase base raíz para todos los @aspose/3d objetos. Implementa INamedObject.
export class A3DObject implements INamedObjectnew A3DObject(name?: string)name | string | lectura/escritura | Nombre legible por humanos. Por defecto es ''. |
properties | PropertyCollection | lectura | Colección dinámica de propiedades. Iterar con for...of o consultar por nombre. |
findProperty(propertyName)
Devuelve el Property con el nombre dado, o null si está ausente.
findProperty(propertyName: string): Property | nullgetProperty(property)
Devuelve el valor de una propiedad nombrada, o null si la propiedad no existe.
getProperty(property: string): anysetProperty(property, value)
Establece el valor de una propiedad nombrada. La crea si aún no existe.
setProperty(property: string, value: any): voidremoveProperty(property)
Elimina una propiedad nombrada o una Property instancia de la colección.
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 con una referencia al propietario Scene.export class SceneObject extends A3DObjectA3DObject → SceneObject
Propiedad adicional
scene | `Scene | null` | lectura/escritura |
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Base abstracta para todos los objetos que pueden adjuntarse a un Node como su entidad de escena principal. Las subclases incluyen Mesh, Camera, Light, y tipos de geometría.
export class Entity extends SceneObjectA3DObject → SceneObject → Entity
parentNode | `Node | undefined` | lectura/escritura |
parentNodes | Node[] | lectura | Todos los nodos padre que hacen referencia a esta entidad (copia de solo lectura). En la mayoría de las escenas, una entidad tiene exactamente un padre. |
excluded | boolean | lectura/escritura | true, la entidad se excluye de la renderización y exportación. Por defecto es false. |
getBoundingBox()
Devuelve el cuadro delimitador alineado a los ejes para esta entidad. Lanza una excepción en la clase base; implementado por subclases concretas como Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Devuelve una clave de renderizador que identifica la ruta de renderizado para este tipo de entidad. Lanza una excepción en la clase base; se usa internamente.
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;