A3DObject / SceneObject / Entity

A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference

แพคเกจ: @aspose/3d (v24.12.0)

คลาสทั้งสามนี้เป็นฐานของ @aspose/3d ลำดับชั้นของคลาส ทุกอ็อบเจ็กต์สาธารณะในไลบรารีสุดท้ายจะสืบทอดจาก A3DObject, ซึ่งให้ชื่อและระบบคุณสมบัติแบบไดนามิก. SceneObject เพิ่มการติดตามการเป็นสมาชิกของซีน. Entity เป็นฐานสำหรับอ็อบเจ็กต์ทั้งหมดที่สามารถแนบไปยัง Node เป็นเอนทิตีหลักของมัน (meshes, cameras, lights, ฯลฯ).

import { A3DObject, SceneObject, Entity } from '@aspose/3d';

A3DObject

คลาสฐานรากสำหรับทุก @aspose/3d อ็อบเจ็กต์. ทำหน้าที่เป็น INamedObject.

export class A3DObject implements INamedObject

new A3DObject(name?: string)

namestringอ่าน/เขียนชื่อที่มนุษย์อ่านได้. ค่าเริ่มต้นเป็น ''.
propertiesPropertyCollectionอ่านคอลเลกชันของคุณสมบัติแบบไดนามิก. ทำการวนซ้ำด้วย for...of หรือค้นหาตามชื่อ.

findProperty(propertyName)

คืนค่า Property ด้วยชื่อที่กำหนด, หรือ null หากไม่มี.

findProperty(propertyName: string): Property | null

getProperty(property)

คืนค่าของคุณสมบัติที่ระบุชื่อ, หรือ null ถ้าคุณสมบัตินั้นไม่มีอยู่.

getProperty(property: string): any

setProperty(property, value)

ตั้งค่าของคุณสมบัติที่ระบุชื่อ. จะสร้างขึ้นหากยังไม่มีอยู่.

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

removeProperty(property)

ลบคุณสมบัติที่มีชื่อหรือ a Property อินสแตนซ์จากคอลเลกชัน.

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 พร้อมการอ้างอิงถึงเจ้าของ Scene.

export class SceneObject extends A3DObject

A3DObjectSceneObject

คุณสมบัติเพิ่มเติม

scene`Scenenull`อ่าน/เขียน

import { Scene } from '@aspose/3d';

const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene);   // true

ฐานเชิงนามธรรมสำหรับวัตถุทั้งหมดที่สามารถแนบไปยัง a Node เป็นเอนทิตีฉากหลักของมัน. คลาสย่อยรวมถึง Mesh, Camera, Light, และประเภทเรขาคณิต.

export class Entity extends SceneObject

A3DObjectSceneObjectEntity

parentNode`Nodeundefined`อ่าน/เขียน
parentNodesNode[]อ่านโหนดพาเรนต์ทั้งหมดที่อ้างอิงเอนทิตีนี้ (สำเนาแบบอ่านอย่างเดียว). ในฉากส่วนใหญ่เอนทิตีจะมีพาเรนต์เพียงหนึ่งเดียว.
excludedbooleanอ่าน/เขียน
true, เอนทิตีจะถูกยกเว้นจากการเรนเดอร์และการส่งออก. ค่าเริ่มต้นคือ false.

getBoundingBox()

คืน axis-aligned bounding box สำหรับเอนทิตีนี้. Throws บน base class; implemented โดย concrete subclasses เช่น Mesh.

getBoundingBox(): BoundingBox

getEntityRendererKey()

คืนค่าคีย์ของเรนเดอร์ที่ระบุเส้นทางการเรนเดอร์สำหรับประเภทเอนทิตี้นี้. จะโยนข้อยกเว้นในคลาสฐาน; ใช้ภายในระบบ.

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;

ดูเพิ่มเติม

 ภาษาไทย