A3DObject / SceneObject / Entity

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

Package : @aspose/3d (v24.12.0)

Ces trois classes constituent la base du @aspose/3d hiérarchie de classes. Chaque objet public de la bibliothèque étend finalement A3DObject, qui fournit le système de nommage et de propriétés dynamiques. SceneObject ajoute le suivi d’appartenance à la scène. Entity est la base de tous les objets qui peuvent être attachés à un Node en tant qu’entité principale (maillages, caméras, lumières, etc.).

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

A3DObject

La classe de base racine pour tous les @aspose/3d objets. Implémente INamedObject.

export class A3DObject implements INamedObject

new A3DObject(name?: string)

namestringlecture/écritureNom lisible par l’homme. Par défaut ''.
propertiesPropertyCollectionlectureCollection de propriétés dynamiques. Parcourir avec for...of ou interroger par nom.

findProperty(propertyName)

Retourner le Property avec le nom donné, ou null si absent.

findProperty(propertyName: string): Property | null

getProperty(property)

Retourner la valeur d’une propriété nommée, ou null si la propriété n’existe pas.

getProperty(property: string): any

setProperty(property, value)

Définit la valeur d’une propriété nommée. La crée si elle n’existe pas déjà.

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

removeProperty(property)

Supprimer une propriété nommée ou un Property instance de la collection.

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 avec une référence au propriétaire Scene.

export class SceneObject extends A3DObject

A3DObjectSceneObject

Propriété supplémentaire

scene`Scenenull`lecture/écriture

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

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

Base abstraite pour tous les objets pouvant être attachés à un Node en tant qu’entité principale de la scène. Les sous‑classes incluent Mesh, Camera, Light, et les types de géométrie.

export class Entity extends SceneObject

A3DObjectSceneObjectEntity

parentNode`Nodeundefined`lecture/écriture
parentNodesNode[]lectureTous les nœuds parents qui référencent cette entité (copie en lecture seule). Dans la plupart des scènes, une entité n’a qu’un seul parent.
excludedbooleanlecture/écriture
true, l’entité est exclue du rendu et de l’exportation. La valeur par défaut est false.

getBoundingBox()

Renvoie l’axis-aligned bounding box pour cette entité. Lève une exception dans la classe de base ; implémentée par les sous‑classes concrètes telles que Mesh.

getBoundingBox(): BoundingBox

getEntityRendererKey()

Renvoie une clé de rendu qui identifie le chemin de rendu pour ce type d’entité. Lève une exception dans la classe de base ; utilisée en interne.

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;

Voir aussi

 Français