A3DObject / SceneObject / Entity

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 INamedObject

new A3DObject(name?: string)

namestringläsa/skrivaMänskligt läsbart namn. Standardvärde är ''.
propertiesPropertyCollectionläsaSamling 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 | null

getProperty(property)

Returnera värdet av en namngiven egenskap, eller null om egenskapen inte finns.

getProperty(property: string): any

setProperty(property, value)

Sätter värdet för en namngiven egenskap. Skapar den om den ännu inte finns.

setProperty(property: string, value: any): void

removeProperty(property)

Ta bort en namngiven egenskap eller en Property instans från samlingen.

removeProperty(property: string | Property): boolean

toString()

"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 A3DObject

A3DObjectSceneObject

Ytterligare egenskap

scene`Scenenull`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 SceneObject

A3DObjectSceneObjectEntity

parentNode`Nodeundefined`läsa/skriva
parentNodesNode[]läsaAlla föräldranoder som refererar till denna entitet (endast läsbar kopia). I de flesta scener har en entitet exakt en förälder.
excludedbooleanlä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(): BoundingBox

getEntityRendererKey()

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;

Se även

 Svenska