Class Transform

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

Transformácia uchováva lokálnu pozíciu, rotáciu a mierku Node v priestore objektu. Poskytuje priamy prístup k vlastnostiam (translation, scaling, rotation)setTranslation, setScale, setEulerAngles, setRotation). Všetky settery neplatia internú cache matice; prepočítaná matica je dostupná cez transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

Pozicujte, otáčajte a škálujte uzol pomocou plynulého API.

import { Scene, Node, Mesh } from '@aspose/3d';
import { Vector3, Quaternion } from '@aspose/3d/utilities';

const scene = new Scene();
const node = scene.rootNode.createChildNode('box');

// Fluent chain: translate, scale, then rotate 45° around Y
node.transform
  .setTranslation(0, 1, 0)
  .setScale(2, 2, 2)
  .setEulerAngles(0, Math.PI / 4, 0);

console.log(`Translation: ${node.transform.translation}`);
// Translation: Vector3(0, 1, 0)

Transform

TransformTransformTransformTransform
translationVector3(0, 0, 0)Lokálna pozícia uzla v súradnicovom priestore jeho rodiča.
scalingVector3(1, 1, 1)Lokálne mierkové faktory pozdĺž každej osi. Poznámka: vlastnosť je scaling, nie scale.
rotationQuaternionidentityLokálna rotácia ako jednotkový kvaternion. Nastavenie tejto hodnoty tiež aktualizuje eulerAngles.
eulerAnglesVector3(0, 0, 0)Lokálna rotácia vyjadrená ako Eulerove uhly v radiánoch (pitch, yaw, roll). Nastavenie tejto hodnoty tiež aktualizuje rotation.
transformMatrixMatrix4identityÚplná matica transformácie z lokálneho priestoru na rodičovský. Vypočítaná len pri potrebe z TRS vlastností; môže sa tiež nastaviť priamo a rozložiť na TRS komponenty.
preRotationVector3(0, 0, 0)Eulerova rotácia aplikovaná pred hlavnou rotáciou (používaná v FBX rigoch).
postRotationVector3(0, 0, 0)Eulerova rotácia aplikovaná po hlavnej rotácii (používaná v FBX rigoch).
scalingOffsetVector3(0, 0, 0)Posun prekladu aplikovaný pred pivotom škálovania (kompatibilný s FBX).
scalingPivotVector3(0, 0, 0)Bod pivotu, okolo ktorého sa aplikuje škálovanie.
rotationOffsetVector3(0, 0, 0)Posun prekladu aplikovaný pred pivotom rotácie.
rotationPivotVector3(0, 0, 0)Bod otáčania, okolo ktorého sa aplikuje rotácia.
geometricTranslationVector3(0, 0, 0)Geometrický posun aplikovaný po transformácii uzla (ovplyvňuje geometriu, nie deti).
geometricScalingVector3(1, 1, 1)Geometrické škálovanie aplikované po transformácii uzla (ovplyvňuje geometriu, nie deti).
geometricRotationVector3(0, 0, 0)Geometrická rotácia aplikovaná po transformácii uzla (ovplyvňuje geometriu, nie deti).

Transform

setTranslation(tx, ty, tz)

Nastaví lokálny posun a vráti this pre reťazenie metód.

setTranslation(tx: number, ty: number, tz: number): Transform

Transform

tx number — X komponenta posunu.

ty number — Y komponenta posunu.

tz number — Z komponenta posunu.

Transform

Transform — To isté Transform inštancia pre reťazenie.

Transform

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

const scene = new Scene();
const node = scene.rootNode.createChildNode('pivot');
node.transform.setTranslation(10, 0, -5);
console.log(`X: ${node.transform.translation.x}`); // X: 10

setScale(sx, sy, sz)

Nastaví lokálne škálovanie a vráti this pre reťazenie metód.

setScale(sx: number, sy: number, sz: number): Transform

Transform

sx number — Mierka pozdĺž osi X.

sy number — Mierka pozdĺž osi Y.

sz number — Mierka pozdĺž osi Z.

Transform

Transform — To isté Transform instance pre reťazenie.

Transform

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

const scene = new Scene();
const node = scene.rootNode.createChildNode('big');
node.transform.setScale(3, 3, 3);
console.log(`Scale X: ${node.transform.scaling.x}`); // Scale X: 3

setEulerAngles(rx, ry, rz)

Nastaví rotáciu pomocou Eulerových uhlov v radiánoch a vráti this. Tá rotation quaternion sa aktualizuje automaticky.

setEulerAngles(rx: number, ry: number, rz: number): Transform

Transform

rx number — Náklon (rotácia okolo osi X) v radiánoch.

ry number — Yaw (rotácia okolo osi Y) v radiánoch.

rz number — Roll (rotácia okolo osi Z) v radiánoch.

Transform

Transform — To isté Transform instance pre reťazenie.

Transform

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

const scene = new Scene();
const node = scene.rootNode.createChildNode('rotated');
// Rotate 90° around Y axis
node.transform.setEulerAngles(0, Math.PI / 2, 0);
console.log(`Euler Y: ${node.transform.eulerAngles.y.toFixed(4)}`);
// Euler Y: 1.5708

setRotation(rw, rx, ry, rz)

Nastaví rotáciu z komponentov quaternionu a vráti this. Tá eulerAngles vlastnosť sa aktualizuje automaticky.

setRotation(rw: number, rx: number, ry: number, rz: number): Transform

Transform

rw number — Skalárna (w) zložka quaternionu.

rx number — X zložka kvaternionu.

ry number — Y zložka kvaternionu.

rz number — Z zložka kvaternionu.

Transform

Transform — Rovnaké Transform inštancia pre reťazenie.


setPreRotation(rx, ry, rz)

Nastaví predrotáciu Eulerových uhlov v radiánoch a vráti this.

setPreRotation(rx: number, ry: number, rz: number): Transform

Transform

Transform


setPostRotation(rx, ry, rz)

Nastaví po‑rotáciu Eulerových uhlov v radiánoch a vráti this.

setPostRotation(rx: number, ry: number, rz: number): Transform

Transform

Transform


setGeometricTranslation(x, y, z)

Nastaví geometrický posun prekladu (ovplyvňuje geometriu tohto uzla, ale nie jeho potomkov) a vráti this.

setGeometricTranslation(x: number, y: number, z: number): Transform

Transform

Transform


setGeometricScaling(sx, sy, sz)

Nastaví geometrický posun škálovania a vráti this.

setGeometricScaling(sx: number, sy: number, sz: number): Transform

Transform

Transform


setGeometricRotation(rx, ry, rz)

Nastaví geometrický posun rotácie (Eulerove uhly v radiánoch) a vráti this.

setGeometricRotation(rx: number, ry: number, rz: number): Transform

Transform

Transform

 Slovenčina