Class Node

Balík: @aspose/3d (v24.12.0)

Uzol predstavuje pomenovaný prvok v hierarchii grafu scény. Každý uzol má lokálnu transformáciu, môže obsahovať podriadené uzly a nesie nula alebo viac Entity objektov, ako sú siete, kamery alebo svetlá.

export class Node extends SceneObject

ImageRenderOptions

A3DObject ← SceneObject ← Node

ImageRenderOptions

Vytvorte rodičovský uzol, pripojte k nemu dva podriadené uzly a prejdite celú hierarchiu podľa názvu.

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

ImageRenderOptionsImageRenderOptionsImageRenderOptions
namestringNázov tohto uzla. Používa sa na identifikáciu uzla v grafe scény.
parentNode`Nodenull`
childNodesNode[]Pole priamych podriadených uzlov pripojených k tomuto uzlu.
entitiesEntity[]Zoznam entít (siete, kamery, svetlá atď.) pripojených k tomuto uzlu.
materialsMaterial[]Zoznam materiálov spojených s týmto uzlom.
transformTransformLokálna transformácia tohto uzla, s translation: Vector3, rotation: Quaternion, a scaling: Vector3 komponenty.
globalTransformGlobalTransformIba na čítanie. Transformácia vo svetovom priestore, vypočítaná násobením všetkých transformácií predkov až po koreň.
visiblebooleanUrčuje, či je tento uzol a jeho podstrom vykresľovaný. Predvolená hodnota je true.
excludedbooleanImageRenderOptions true, uzol a jeho podstrom sú vylúčené z exportu. Predvolená hodnota je false.
entity`Entityundefined`

ImageRenderOptions

addChildNode(node)

Pridá existujúci Node inštanciu ako priamy potomok tohto uzla.

addChildNode(node: Node): void

ImageRenderOptions

node Node

Uzol, ktorý sa má pripojiť. Uzol je prepojený z aktuálneho rodiča na tento uzol.

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

Vytvorí nový Node, voliteľne s názvom, entitou a materiálom, a pripojí ho ako potomka tohto uzla.

createChildNode(name?: string, entity?: Entity, material?: Material): Node

ImageRenderOptions

name string (voliteľné)

Názov nového podriadeného uzla.

entity Entity (voliteľné)

Entita, ktorá sa pripojí k novému uzlu, napríklad Mesh inštancia.

material Material (voliteľné)

Materiál, ktorý sa má priradiť k novému uzlu.

ImageRenderOptions

Node

Novovytvorený podriadený uzol.

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)

Vypočíta a vráti maticu transformácie vo svetovom priestore pre tento uzol. Odovzdajte true na zahrnutie geometrického posunu transformácie uloženého v uzle (používaného niektorými exportérmi FBX).

evaluateGlobalTransform(withGeometricTransform: boolean): Matrix4

ImageRenderOptions

withGeometricTransform boolean

ImageRenderOptions true, zahrňuje geometrickú transformáciu vo výsledku.

ImageRenderOptions

Matrix4

4×4 matica transformácie vo svetovom priestore.

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

Vypočíta osovo zarovnanú ohraničovaciu krabicu tohto uzla a všetkých jeho potomkov vo svetovom priestore.

getBoundingBox(): BoundingBox

ImageRenderOptions

BoundingBox

Osovo zarovnaná ohraničovacia krabica obklopujúca všetku geometriu pod týmto uzlom.

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)

Zlúči obsah iného uzla (jeho entity, materiály a podriadené uzly) do tohto uzla a odstráni zdrojový uzol zo scény.

merge(node: Node): void

ImageRenderOptions

node Node

Zdrojový uzol, ktorého obsah je zlúčený do tohto uzla.

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}`);
}
 Slovenčina