A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Pakej: @aspose/3d (v24.12.0)
Ketiga kelas ini membentuk asas bagi @aspose/3d hierarki kelas. Setiap objek awam dalam perpustakaan akhirnya mewarisi A3DObject, yang menyediakan nama dan sistem sifat dinamik. SceneObject menambah penjejakan keahlian adegan. Entity adalah asas bagi semua objek yang boleh dilampirkan kepada Node sebagai entiti utama (mesh, kamera, lampu, dll.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Kelas asas akar untuk semua @aspose/3d objek. Melaksanakan INamedObject.
export class A3DObject implements INamedObjectProperties
new A3DObject(name?: string)Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | string | baca/tulis | Nama yang boleh dibaca manusia. Lalai kepada ''. |
properties | PropertyCollection | baca | Koleksi sifat dinamik. Ulangi dengan for...of atau pertanyaan mengikut nama. |
Properties
findProperty(propertyName)
Kembalikan Property dengan nama yang diberikan, atau null jika tiada.
findProperty(propertyName: string): Property | nullgetProperty(property)
Kembalikan nilai sifat yang dinamakan, atau null jika sifat tidak wujud.
getProperty(property: string): anysetProperty(property, value)
Tetapkan nilai sifat yang dinamakan. Membuatnya jika belum wujud.
setProperty(property: string, value: any): voidremoveProperty(property)
Buang sifat bernama atau a Property instans daripada koleksi.
removeProperty(property: string | Property): booleantoString()
Properties "ClassName(name)".
Properties
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
Properties A3DObject dengan rujukan kepada pemilik Scene.
export class SceneObject extends A3DObjectProperties
A3DObject → SceneObject
Kembalikan Mesh baru di mana setiap poligon telah dibahagikan kepada segitiga menggunakan triangulasi kipas. Mesh asal tidak diubah. Berguna sebelum mengeksport ke format yang memerlukan geometri hanya segitiga (seperti STL atau beberapa pipeline glTF).
| Properties | Properties | Properties | Properties |
|---|---|---|---|
scene | `Scene | null` | baca/tulis |
Properties
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Properties
Asas abstrak untuk semua objek yang boleh dilampirkan kepada a Node sebagai entiti utama adegan. Subkelas termasuk Mesh, Camera, Light, dan jenis geometri.
export class Entity extends SceneObjectProperties
A3DObject → SceneObject → Entity
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
parentNode | `Node | undefined` | baca/tulis |
parentNodes | Node[] | baca | Semua nod induk yang merujuk entiti ini (salinan baca-sahaja). Dalam kebanyakan adegan, satu entiti mempunyai tepat satu induk. |
excluded | boolean | baca/tulis | Properties true, entiti ini dikecualikan daripada rendering dan eksport. Lalai kepada false. |
Properties
getBoundingBox()
Kembalikan kotak sempadan selari paksi untuk entiti ini. Melempar pada kelas asas; dilaksanakan oleh subkelas konkrit seperti Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Mengembalikan kunci renderer yang mengenal pasti laluan render untuk jenis entiti ini. Melempar pengecualian pada kelas asas; digunakan secara dalaman.
Properties
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;