A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Paket: @aspose/3d (v24.12.0)
Dessa tre klasser utgör grunden för @aspose/3d klasshierarkin. Varje offentligt objekt i biblioteket är i slutändan en underklass till A3DObject, som tillhandahåller namn- och dynamiska egendomssystemet. SceneObject lägger till spårning av scenmedlemskap. Entity är basen för alla objekt som kan fästas på en Node som dess primära enhet (nät, kameror, ljus osv.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Den grundläggande rotklassen för alla @aspose/3d objekt. Implementerar INamedObject.
export class A3DObject implements INamedObjectnew A3DObject(name?: string)name | string | läsa/skriva | Mänskligt läsbart namn. Standardvärde är ''. |
properties | PropertyCollection | läsa | Samling av dynamiska egenskaper. Iterera med for...of eller fråga efter namn. |
findProperty(propertyName)
Returnera Property med det angivna namnet, eller null om den saknas.
findProperty(propertyName: string): Property | nullgetProperty(property)
Returnera värdet av en namngiven egenskap, eller null om egenskapen inte finns.
getProperty(property: string): anysetProperty(property, value)
Sätter värdet för en namngiven egenskap. Skapar den om den ännu inte finns.
setProperty(property: string, value: any): voidremoveProperty(property)
Ta bort en namngiven egenskap eller en Property instans från samlingen.
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 med en referens till den ägande Scene.export class SceneObject extends A3DObjectA3DObject → SceneObject
Ytterligare egenskap
scene | `Scene | null` | läsa/skriva |
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Abstrakt bas för alla objekt som kan fästas på en Node som dess primära scenentitet. Subklasser inkluderar Mesh, Camera, Light, och geometrityper.
export class Entity extends SceneObjectA3DObject → SceneObject → Entity
parentNode | `Node | undefined` | läsa/skriva |
parentNodes | Node[] | läsa | Alla föräldranoder som refererar till denna entitet (endast läsbar kopia). I de flesta scener har en entitet exakt en förälder. |
excluded | boolean | läsa/skriva | true, exkluderas entiteten från rendering och export. Standardvärdet är false. |
getBoundingBox()
Returnera den axis-aligned bounding box för denna entitet. Kastar på basklassen; implementeras av konkreta underklasser såsom Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Returnerar en renderarnyckel som identifierar renderingsvägen för denna entitetstyp. Kastar ett undantag i basklassen; används internt.
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;