A3DObject / SceneObject / Entity

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 INamedObject

Methods

new A3DObject(name?: string)

Methods

MethodsMethodsMethodsMethods
namestring읽기/쓰기사람이 읽을 수 있는 이름. 기본값은 ''.
propertiesPropertyCollection읽기동적 속성 컬렉션. 다음으로 반복합니다 for...of 또는 이름으로 조회합니다.

Methods

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()

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 A3DObject

Methods

A3DObjectSceneObject

추가 속성

MethodsMethodsMethodsMethods
scene`Scenenull`읽기/쓰기

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 SceneObject

Methods

A3DObjectSceneObjectEntity

Methods

MethodsMethodsMethodsMethods
parentNode`Nodeundefined`읽기/쓰기
parentNodesNode[]읽기이 엔티티를 참조하는 모든 부모 노드(읽기 전용 복사본). 대부분의 씬에서 엔티티는 정확히 하나의 부모를 가집니다.
excludedboolean읽기/쓰기Methods true, 엔티티는 렌더링 및 내보내기에서 제외됩니다. 기본값은 false.

Methods

getBoundingBox()

이 엔터티에 대한 축 정렬 경계 상자를 반환합니다. 기본 클래스에서는 예외를 발생시키며, 구체적인 서브클래스(예: )에 의해 구현됩니다. Mesh.

getBoundingBox(): BoundingBox

getEntityRendererKey()

이 엔터티 타입에 대한 렌더 경로를 식별하는 렌더러 키를 반환합니다. 기본 클래스에서는 예외를 발생시키며, 내부에서 사용됩니다.

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;

참고

 한국어