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 INamedObjectnew A3DObject(name?: string)name | string | อ่าน/เขียน | ชื่อที่มนุษย์อ่านได้. ค่าเริ่มต้นเป็น ''. |
properties | PropertyCollection | อ่าน | คอลเลกชันของคุณสมบัติแบบไดนามิก. ทำการวนซ้ำด้วย for...of หรือค้นหาตามชื่อ. |
findProperty(propertyName)
คืนค่า Property ด้วยชื่อที่กำหนด, หรือ null หากไม่มี.
findProperty(propertyName: string): Property | nullgetProperty(property)
คืนค่าของคุณสมบัติที่ระบุชื่อ, หรือ null ถ้าคุณสมบัตินั้นไม่มีอยู่.
getProperty(property: string): anysetProperty(property, value)
ตั้งค่าของคุณสมบัติที่ระบุชื่อ. จะสร้างขึ้นหากยังไม่มีอยู่.
setProperty(property: string, value: any): voidremoveProperty(property)
ลบคุณสมบัติที่มีชื่อหรือ a Property อินสแตนซ์จากคอลเลกชัน.
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 พร้อมการอ้างอิงถึงเจ้าของ Scene.export class SceneObject extends A3DObjectA3DObject → SceneObject
คุณสมบัติเพิ่มเติม
scene | `Scene | null` | อ่าน/เขียน |
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 SceneObjectA3DObject → SceneObject → Entity
parentNode | `Node | undefined` | อ่าน/เขียน |
parentNodes | Node[] | อ่าน | โหนดพาเรนต์ทั้งหมดที่อ้างอิงเอนทิตีนี้ (สำเนาแบบอ่านอย่างเดียว). ในฉากส่วนใหญ่เอนทิตีจะมีพาเรนต์เพียงหนึ่งเดียว. |
excluded | boolean | อ่าน/เขียน | true, เอนทิตีจะถูกยกเว้นจากการเรนเดอร์และการส่งออก. ค่าเริ่มต้นคือ false. |
getBoundingBox()
คืน axis-aligned bounding box สำหรับเอนทิตีนี้. Throws บน base class; implemented โดย concrete subclasses เช่น Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
คืนค่าคีย์ของเรนเดอร์ที่ระบุเส้นทางการเรนเดอร์สำหรับประเภทเอนทิตี้นี้. จะโยนข้อยกเว้นในคลาสฐาน; ใช้ภายในระบบ.
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;