A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Paket: @aspose/3d (v24.12.0)
Diese drei Klassen bilden die Basis der @aspose/3d Klassenhierarchie. Jedes öffentliche Objekt in der Bibliothek erweitert letztendlich A3DObject, das den Namens- und dynamischen Eigenschaftsmechanismus bereitstellt. SceneObject fügt die Verfolgung der Szenenmitgliedschaft hinzu. Entity ist die Basis für alle Objekte, die an ein Node als seine primäre Entität (Netze, Kameras, Lichter usw.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Die grundlegende Basisklasse für alle @aspose/3d Objekte. Implementiert INamedObject.
export class A3DObject implements INamedObjectEnumerations
new A3DObject(name?: string)Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
name | string | lesen/schreiben | Menschlich lesbarer Name. Standardwert ist ''. |
properties | PropertyCollection | lesen | Dynamische Eigenschaftssammlung. Durchlaufen mit for...of oder nach Namen abfragen. |
Enumerations
findProperty(propertyName)
Gib das Property mit dem angegebenen Namen, oder null falls nicht vorhanden.
findProperty(propertyName: string): Property | nullgetProperty(property)
Gib den Wert einer benannten Eigenschaft zurück, oder null falls die Eigenschaft nicht existiert.
getProperty(property: string): anysetProperty(property, value)
Setzt den Wert einer benannten Eigenschaft. Erstellt sie, falls sie noch nicht existiert.
setProperty(property: string, value: any): voidremoveProperty(property)
Entferne eine benannte Eigenschaft oder ein Property Instanz aus der Sammlung.
removeProperty(property: string | Property): booleantoString()
Enumerations "ClassName(name)".
Enumerations
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
Enumerations A3DObject mit einem Verweis auf das Eigentum Scene.
export class SceneObject extends A3DObjectEnumerations
A3DObject → SceneObject
Speichert Texturkoordinatenpaare (Vector2) pro Vertex oder pro Polygon‑Ecke. Ein Mesh kann mehrere UV‑Ebenen enthalten.
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
scene | `Scene | null` | lesen/schreiben |
Enumerations
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Enumerations
Abstrakte Basisklasse für alle Objekte, die an ein(e) Node als seine primäre Szenen-Entität. Subklassen umfassen Mesh, Camera, Light, und Geometrietypen.
export class Entity extends SceneObjectEnumerations
A3DObject → SceneObject → Entity
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
parentNode | `Node | undefined` | lesen/schreiben |
parentNodes | Node[] | lesen | Alle übergeordneten Knoten, die auf diese Entität verweisen (schreibgeschützte Kopie). In den meisten Szenen hat eine Entität genau einen Elternknoten. |
excluded | boolean | Lesen/Schreiben | Enumerations true, die Entität ist vom Rendern und Exportieren ausgeschlossen. Standardwert ist false. |
Enumerations
getBoundingBox()
Gibt die achsenparallele Begrenzungsbox für diese Entität zurück. Wirft in der Basisklasse; implementiert von konkreten Unterklassen wie Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Gibt einen Renderer‑Schlüssel zurück, der den Renderpfad für diesen Entitätstyp identifiziert. Wirft eine Ausnahme in der Basisklasse; wird intern verwendet.
Enumerations
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;