A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Package : @aspose/3d (v24.12.0)
Ces trois classes constituent la base du @aspose/3d hiérarchie de classes. Chaque objet public de la bibliothèque étend finalement A3DObject, qui fournit le système de nommage et de propriétés dynamiques. SceneObject ajoute le suivi d’appartenance à la scène. Entity est la base de tous les objets qui peuvent être attachés à un Node en tant qu’entité principale (maillages, caméras, lumières, etc.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
La classe de base racine pour tous les @aspose/3d objets. Implémente INamedObject.
export class A3DObject implements INamedObjectnew A3DObject(name?: string)name | string | lecture/écriture | Nom lisible par l’homme. Par défaut ''. |
properties | PropertyCollection | lecture | Collection de propriétés dynamiques. Parcourir avec for...of ou interroger par nom. |
findProperty(propertyName)
Retourner le Property avec le nom donné, ou null si absent.
findProperty(propertyName: string): Property | nullgetProperty(property)
Retourner la valeur d’une propriété nommée, ou null si la propriété n’existe pas.
getProperty(property: string): anysetProperty(property, value)
Définit la valeur d’une propriété nommée. La crée si elle n’existe pas déjà.
setProperty(property: string, value: any): voidremoveProperty(property)
Supprimer une propriété nommée ou un Property instance de la collection.
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 avec une référence au propriétaire Scene.export class SceneObject extends A3DObjectA3DObject → SceneObject
Propriété supplémentaire
scene | `Scene | null` | lecture/écriture |
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Base abstraite pour tous les objets pouvant être attachés à un Node en tant qu’entité principale de la scène. Les sous‑classes incluent Mesh, Camera, Light, et les types de géométrie.
export class Entity extends SceneObjectA3DObject → SceneObject → Entity
parentNode | `Node | undefined` | lecture/écriture |
parentNodes | Node[] | lecture | Tous les nœuds parents qui référencent cette entité (copie en lecture seule). Dans la plupart des scènes, une entité n’a qu’un seul parent. |
excluded | boolean | lecture/écriture | true, l’entité est exclue du rendu et de l’exportation. La valeur par défaut est false. |
getBoundingBox()
Renvoie l’axis-aligned bounding box pour cette entité. Lève une exception dans la classe de base ; implémentée par les sous‑classes concrètes telles que Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Renvoie une clé de rendu qui identifie le chemin de rendu pour ce type d’entité. Lève une exception dans la classe de base ; utilisée en interne.
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;