A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Paket: @aspose/3d (v24.12.0)
Ova tri klase čine osnovu @aspose/3d hijerarhije klasa. Svaki javni objekat u biblioteci na kraju proširuje A3DObject, koji obezbeđuje sistem imena i dinamičkih svojstava. SceneObject dodaje praćenje članstva u sceni. Entity je osnova za sve objekte koji se mogu prikačiti na Node kao njegov primarni entitet (mreže, kamere, svetla, itd.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Osnovna korenska klasa za sve @aspose/3d objekte. Implementira INamedObject.
export class A3DObject implements INamedObjectnew A3DObject(name?: string)name | string | čitanje/pisanje | Ljudski čitljivo ime. Podrazumevano je ''. |
properties | PropertyCollection | čitanje | Dinamička kolekcija svojstava. Iterirajte pomoću for...of ili upitajte po imenu. |
findProperty(propertyName)
Vrati Property sa zadatim imenom, ili null ako je odsutan.
findProperty(propertyName: string): Property | nullgetProperty(property)
Vrati vrednost imenovane osobine, ili null ako osobina ne postoji.
getProperty(property: string): anysetProperty(property, value)
Postavlja vrednost imenovanog svojstva. Kreira ga ako još ne postoji.
setProperty(property: string, value: any): voidremoveProperty(property)
Ukloni imenovanu osobinu ili Property instancu iz kolekcije.
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 sa referencom na vlasnika Scene.export class SceneObject extends A3DObjectA3DObject → SceneObject
Dodatna svojstva
scene | `Scene | null` | čitanje/pisanje |
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Apstraktna baza za sve objekte koji se mogu prikačiti na Node kao njegov primarni entitet scene. Podklase uključuju Mesh, Camera, Light, i tipove geometrije.
export class Entity extends SceneObjectA3DObject → SceneObject → Entity
parentNode | `Node | undefined` | čitanje/pisanje |
parentNodes | Node[] | čitanje | Svi roditeljski čvorovi koji referišu na ovaj entitet (kopija samo za čitanje). U većini scena entitet ima tačno jednog roditelja. |
excluded | boolean | čitanje/pisanje | true, entitet je isključen iz renderovanja i izvoza. Podrazumevano je false. |
getBoundingBox()
Vrati osno poravnatu granicu (axis-aligned bounding box) za ovaj entitet. Baca izuzetak u osnovnoj klasi; implementirano u konkretnim podklasama kao što su Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Vraća ključ renderera koji identifikuje put renderovanja za ovaj tip entiteta. Baci izuzetak u osnovnoj klasi; koristi se interno.
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;