A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Pakket: @aspose/3d (v24.12.0)
Deze drie klassen vormen de basis van de @aspose/3d klassenhiërarchie. Elk openbaar object in de bibliotheek breidt uiteindelijk uit A3DObject, die de naam- en dynamische eigenschapensysteem levert. SceneObject voegt scene‑lidmaatschapsbijhouden toe. Entity is de basis voor alle objecten die aan een Node als zijn primaire entiteit (mesh‑objecten, camera’s, lampen, enz.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
De basisklasse voor alle @aspose/3d objecten. Implementeert INamedObject.
export class A3DObject implements INamedObjectProperties
new A3DObject(name?: string)Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | string | lezen/schrijven | Menselijk leesbare naam. Standaard is ''. |
properties | PropertyCollection | lezen | Collectie van dynamische eigenschappen. Itereer met for...of of query op naam. |
Properties
findProperty(propertyName)
Retourneer de Property met de opgegeven naam, of null indien afwezig.
findProperty(propertyName: string): Property | nullgetProperty(property)
Retourneer de waarde van een benoemde eigenschap, of null als de eigenschap niet bestaat.
getProperty(property: string): anysetProperty(property, value)
Stelt de waarde van een benoemde eigenschap in. Maakt deze aan als deze nog niet bestaat.
setProperty(property: string, value: any): voidremoveProperty(property)
Verwijder een benoemde eigenschap of een Property instantie uit de collectie.
removeProperty(property: string | Property): booleantoString()
Properties "ClassName(name)".
Properties
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
Properties A3DObject met een verwijzing naar de eigenaar Scene.
export class SceneObject extends A3DObjectProperties
A3DObject → SceneObject
Extra eigenschap
| Properties | Properties | Properties | Properties |
|---|---|---|---|
scene | `Scene | null` | lezen/schrijven |
Properties
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Properties
Abstracte basis voor alle objecten die kunnen worden gekoppeld aan een Node als zijn primaire scène‑entiteit. Subklassen omvatten Mesh, Camera, Light, en geometrische types.
export class Entity extends SceneObjectProperties
A3DObject → SceneObject → Entity
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
parentNode | `Node | undefined` | lezen/schrijven |
parentNodes | Node[] | lezen | Alle bovenliggende knooppunten die naar deze entity verwijzen (alleen-lezen kopie). In de meeste scènes heeft een entity precies één ouder. |
excluded | boolean | lezen/schrijven | Properties true, de entity wordt uitgesloten van rendering en export. Standaard is false. |
Properties
getBoundingBox()
Retourneer de axis-aligned bounding box voor deze entity. Gooit een fout in de basisklasse; geïmplementeerd door concrete subklassen zoals Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Retourneert een renderer‑sleutel die het renderpad voor dit entiteitstype identificeert. Werpt een uitzondering in de basisklasse; intern gebruikt.
Properties
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;