A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Pachet: @aspose/3d (v24.12.0)
Aceste trei clase formează baza @aspose/3d ierarhiei de clase. Fiecare obiect public din bibliotecă se extinde în final A3DObject, care furnizează sistemul de nume și proprietăți dinamice. SceneObject adaugă urmărirea apartenenței la scenă. Entity este baza pentru toate obiectele care pot fi atașate la un Node ca entitatea sa principală (meshes, camere, lumini etc.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Clasa de bază rădăcină pentru toate @aspose/3d obiecte. Implementează INamedObject.
export class A3DObject implements INamedObjectExample
new A3DObject(name?: string)Example
| Example | Example | Example | Example |
|---|---|---|---|
name | string | citire/scriere | Nume lizibil pentru oameni. Implicit este ''. |
properties | PropertyCollection | citire | Colecție dinamică de proprietăți. Iterați cu for...of sau interogați după nume. |
Example
findProperty(propertyName)
Returnează Property cu numele dat, sau null dacă lipsește.
findProperty(propertyName: string): Property | nullgetProperty(property)
Returnează valoarea unei proprietăți numite, sau null dacă proprietatea nu există.
getProperty(property: string): anysetProperty(property, value)
Setează valoarea unei proprietăți numite. O creează dacă nu există deja.
setProperty(property: string, value: any): voidremoveProperty(property)
Elimină o proprietate numită sau o Property instanță din colecție.
removeProperty(property: string | Property): booleantoString()
Example "ClassName(name)".
Example
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
Example A3DObject cu o referință la entitatea proprietară Scene.
export class SceneObject extends A3DObjectExample
A3DObject → SceneObject
Proprietate suplimentară
| Example | Example | Example | Example |
|---|---|---|---|
scene | `Scene | null` | citire/scriere |
Example
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Example
Bază abstractă pentru toate obiectele care pot fi atașate la un Node ca entitatea sa principală de scenă. Subclasele includ Mesh, Camera, Light, și tipuri de geometrie.
export class Entity extends SceneObjectExample
A3DObject → SceneObject → Entity
Example
| Example | Example | Example | Example |
|---|---|---|---|
parentNode | `Node | undefined` | citire/scriere |
parentNodes | Node[] | citire | Toate nodurile părinte care fac referire la această entitate (copie doar în citire). În majoritatea scenelor, o entitate are exact un părinte. |
excluded | boolean | citire/scriere | Example true, entitatea este exclusă din randare și export. Implicit este false. |
Example
getBoundingBox()
Returnează cutia delimitatoare aliniată pe axe pentru această entitate. Aruncă în clasa de bază; implementată de subclase concrete, cum ar fi Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Returnează o cheie de renderer care identifică calea de redare pentru acest tip de entitate. Aruncă o excepție în clasa de bază; este utilizată intern.
Example
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;