A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
패키지: @aspose/3d (v24.12.0)
이 세 클래스는 @aspose/3d 클래스 계층 구조의 A3DObject,라이브러리의 모든 공개 객체는 궁극적으로 를 확장하며, 이는 이름과 동적 속성 시스템을 제공합니다. SceneObject 장면 멤버십 추적을 추가합니다. Entity 는 a에 부착될 수 있는 모든 객체의 기반입니다 Node 를 기본 엔터티로 사용합니다 (메시, 카메라, 조명 등).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
모든 @aspose/3d 객체. 구현합니다 INamedObject.
export class A3DObject implements INamedObjectMethods
new A3DObject(name?: string)Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | string | 읽기/쓰기 | 사람이 읽을 수 있는 이름. 기본값은 ''. |
properties | PropertyCollection | 읽기 | 동적 속성 컬렉션. 다음으로 반복합니다 for...of 또는 이름으로 조회합니다. |
Methods
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()
Methods "ClassName(name)".
Methods
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
Methods A3DObject 소유자를 가리키는 참조와 함께 Scene.
export class SceneObject extends A3DObjectMethods
A3DObject → SceneObject
추가 속성
| Methods | Methods | Methods | Methods |
|---|---|---|---|
scene | `Scene | null` | 읽기/쓰기 |
Methods
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Methods
다음에 부착될 수 있는 모든 객체의 추상 기반. Node 를 기본 씬 엔티티로 사용합니다. 서브클래스에는 Mesh, Camera, Light, 및 기하학 타입.
export class Entity extends SceneObjectMethods
A3DObject → SceneObject → Entity
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
parentNode | `Node | undefined` | 읽기/쓰기 |
parentNodes | Node[] | 읽기 | 이 엔티티를 참조하는 모든 부모 노드(읽기 전용 복사본). 대부분의 씬에서 엔티티는 정확히 하나의 부모를 가집니다. |
excluded | boolean | 읽기/쓰기 | Methods true, 엔티티는 렌더링 및 내보내기에서 제외됩니다. 기본값은 false. |
Methods
getBoundingBox()
이 엔터티에 대한 축 정렬 경계 상자를 반환합니다. 기본 클래스에서는 예외를 발생시키며, 구체적인 서브클래스(예: )에 의해 구현됩니다. Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
이 엔터티 타입에 대한 렌더 경로를 식별하는 렌더러 키를 반환합니다. 기본 클래스에서는 예외를 발생시키며, 내부에서 사용됩니다.
Methods
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;