Class Node
Csomag: @aspose/3d (v24.12.0)
A csomópont egy elnevezett elemet képvisel a jelenetgrafikon hierarchiájában. Minden csomópontnak van helyi transzformációja, tarthat gyermekcsomópontokat, és nulla vagy több Entity objektumot, például hálókat, kamerákat vagy fényeket.
export class Node extends SceneObjectImageRenderOptions
A3DObject ← SceneObject ← Node
ImageRenderOptions
Hozzon létre egy szülő node-ot, csatoljon hozzá két gyermek node-ot, és járja be a teljes hierarchiát név szerint.
import { Scene, Node } from '@aspose/3d';
const scene = new Scene();
const root = scene.rootNode;
const vehicle = root.createChildNode('vehicle');
const body = vehicle.createChildNode('body');
const wheel = vehicle.createChildNode('wheel_front_left');
function traverse(node: Node, depth = 0): void {
console.log(' '.repeat(depth * 2) + node.name);
for (const child of node.childNodes) {
traverse(child, depth + 1);
}
}
traverse(root);
// Output:
// vehicle
// body
// wheel_front_left
ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
name | string | A csomópont neve. A csomópont azonosítására szolgál a jelenetgrafikonon belül. |
parentNode | `Node | null` |
childNodes | Node[] | A közvetlen gyermekcsomópontok tömbje, amelyek ehhez a csomóponthoz vannak csatolva. |
entities | Entity[] | Az ehhez a csomóponthoz csatolt entitások (hálók, kamerák, fények stb.) listája. |
materials | Material[] | A csomóponthoz kapcsolódó anyagok listája. |
transform | Transform | A csomópont helyi transzformációja, a következőkkel: translation: Vector3, rotation: Quaternion, és scaling: Vector3 összetevők. |
globalTransform | GlobalTransform | Csak olvasható. A világkoordináta-transzformáció, amelyet az összes ős transzformációjának a gyökérig történő szorzásával számolnak ki. |
visible | boolean | Az, hogy ez a csomópont és az alá tartozó részfa megjelenik-e. Alapértelmezett érték: true. |
excluded | boolean | ImageRenderOptions true, a csomópont és az alcsomópontja kizárásra kerül az exportálásból. Alapértelmezett: false. |
entity | `Entity | undefined` |
ImageRenderOptions
addChildNode(node)
Hozzáad egy meglévő Node példányt közvetlen gyermekként ehhez a csomóponthoz.
addChildNode(node: Node): voidImageRenderOptions
node Node
A csatolandó node. A node át lesz szülőhöz rendelve a jelenlegi szülőjéről ebbe a node-ba.
ImageRenderOptions
void
ImageRenderOptions
import { Scene, Node } from '@aspose/3d';
const scene = new Scene();
const parent = scene.rootNode.createChildNode('parent');
const child = new Node('child');
parent.addChildNode(child);
console.log(`Children of parent: ${parent.childNodes.length}`); // 1
createChildNode(name?, entity?, material?)
Létrehoz egy új Node, opcionálisan névvel, entitással és anyaggal, és hozzáfűzi gyermekként ehhez a csomóponthoz.
createChildNode(name?: string, entity?: Entity, material?: Material): NodeImageRenderOptions
name string (opcionális)
Az új gyermek node neve.
entity Entity (opcionális)
Egy entitás, amelyet a új csomóponthoz csatolunk, például egy Mesh példány.
material Material (opcionális)
Az anyag, amelyet a új csomóponthoz kell társítani.
ImageRenderOptions
Node
Az újonnan létrehozott gyermekcsomópont.
ImageRenderOptions
import { Scene } from '@aspose/3d';
import { Mesh } from '@aspose/3d/entities';
const scene = new Scene();
const mesh = new Mesh();
// ... populate mesh ...
const meshNode = scene.rootNode.createChildNode('geometry', mesh);
console.log(`Node name: ${meshNode.name}`);
console.log(`Entities attached: ${meshNode.entities.length}`);evaluateGlobalTransform(withGeometricTransform)
Kiszámítja és visszaadja a világkoordináta-transzformációs mátrixot ehhez a csomóponthoz. Adja meg true a geometriai transzformáció eltolásának belefoglalásához, amely a csomópontra van tárolva (néhány FBX exportáló használja).
evaluateGlobalTransform(withGeometricTransform: boolean): Matrix4ImageRenderOptions
withGeometricTransform boolean
ImageRenderOptions true, beleértve a geometriai transzformációt az eredményben.
ImageRenderOptions
Matrix4
A 4×4-es világkoordinátás transzformációs mátrix.
ImageRenderOptions
import { Scene } from '@aspose/3d';
const scene = new Scene();
scene.open('model.fbx');
const node = scene.rootNode.childNodes[0];
const matrix = node.evaluateGlobalTransform(false);
console.log('World transform matrix computed.');getBoundingBox()
Kiszámítja a csomópont és minden leszármazottja tengelyre igazított határoló dobozát világkoordinátában.
getBoundingBox(): BoundingBoxImageRenderOptions
BoundingBox
A tengelyre igazított határoló doboz, amely az adott csomópont alatti összes geometriát körülveszi.
ImageRenderOptions
import { Scene } from '@aspose/3d';
const scene = new Scene();
scene.open('model.obj');
const bbox = scene.rootNode.getBoundingBox();
console.log(`Min: ${JSON.stringify(bbox.minimum)}`);
console.log(`Max: ${JSON.stringify(bbox.maximum)}`);merge(node)
Összevonja egy másik csomópont tartalmát (entitásait, anyagait és gyermekeit) ebbe a csomópontba, és eltávolítja a forráscsomópontot a jelenetből.
merge(node: Node): voidImageRenderOptions
node Node
Az a forrás node, amelynek tartalma ebbe a node-ba van egyesítve.
ImageRenderOptions
void
ImageRenderOptions
import { Scene } from '@aspose/3d';
const scene = new Scene();
scene.open('multi_part.fbx');
const root = scene.rootNode;
if (root.childNodes.length >= 2) {
root.childNodes[0].merge(root.childNodes[1]);
console.log(`Children after merge: ${root.childNodes.length}`);
}