A3DObject, SceneObject, Entity — Aspose.3D TypeScript API Reference
Pakiet: @aspose/3d (v24.12.0)
Te trzy klasy stanowią podstawę @aspose/3d hierarchii klas. Każdy publiczny obiekt w bibliotece ostatecznie dziedziczy po A3DObject, który dostarcza system nazw i dynamicznych właściwości. SceneObject dodaje śledzenie przynależności do sceny. Entity jest podstawą dla wszystkich obiektów, które mogą być dołączone do Node jako jej głównego podmiotu (siatki, kamery, światła itp.).
import { A3DObject, SceneObject, Entity } from '@aspose/3d';A3DObject
Podstawowa klasa korzenia dla wszystkich @aspose/3d obiektów. Implementuje INamedObject.
export class A3DObject implements INamedObjectExample
new A3DObject(name?: string)Example
| Example | Example | Example | Example |
|---|---|---|---|
name | string | odczyt/zapis | Nazwa czytelna dla człowieka. Domyślnie ''. |
properties | PropertyCollection | odczyt | Dynamiczna kolekcja właściwości. Iteruj przy użyciu for...of lub zapytaj po nazwie. |
Example
findProperty(propertyName)
Zwróć Property z podaną nazwą, lub null jeśli nieobecny.
findProperty(propertyName: string): Property | nullgetProperty(property)
Zwróć wartość nazwanej właściwości, lub null jeśli właściwość nie istnieje.
getProperty(property: string): anysetProperty(property, value)
Ustawia wartość nazwanej właściwości. Tworzy ją, jeśli jeszcze nie istnieje.
setProperty(property: string, value: any): voidremoveProperty(property)
Usuń nazwane właściwość lub Property instancja z kolekcji.
removeProperty(property: string | Property): booleantoString()
Example "ClassName(name)".
Example
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
Example A3DObject z odwołaniem do właściciela Scene.
export class SceneObject extends A3DObjectExample
A3DObject → SceneObject
Dodatkowa właściwość
| Example | Example | Example | Example |
|---|---|---|---|
scene | `Scene | null` | odczyt/zapis |
Example
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('child');
console.log(node.scene === scene); // true
Example
Abstrakcyjna baza dla wszystkich obiektów, które mogą być dołączone do Node jako jego główny podmiot sceny. Podklasy obejmują Mesh, Camera, Light, oraz typy geometryczne.
export class Entity extends SceneObjectExample
A3DObject → SceneObject → Entity
Example
| Example | Example | Example | Example |
|---|---|---|---|
parentNode | `Node | undefined` | odczyt/zapis |
parentNodes | Node[] | odczyt | Wszystkie węzły nadrzędne, które odwołują się do tego entity (kopia tylko do odczytu). W większości scen entity ma dokładnie jednego rodzica. |
excluded | boolean | odczyt/zapis | Example true, entity jest wykluczony z renderowania i eksportu. Domyślnie false. |
Example
getBoundingBox()
Zwróć prostopadłościan ograniczający wyrównany do osi dla tego entity. Rzuca wyjątek w klasie bazowej; zaimplementowane w konkretnych podklasach, takich jak Mesh.
getBoundingBox(): BoundingBoxgetEntityRendererKey()
Zwraca klucz renderera, który identyfikuje ścieżkę renderowania dla tego typu podmiotu. Rzuca wyjątek w klasie bazowej; używane wewnętrznie.
Example
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;