Class Transform

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

Transform houdt de lokale positie, rotatie en schaal van een Node in objectruimte. Het biedt zowel directe eigenschapstoegang (translation, scaling, rotation) en fluïde setter‑methoden (setTranslation, setScale, setEulerAngles, setRotation). Alle setters maken een interne matrixcache ongeldig; de opnieuw berekende matrix is beschikbaar via transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

Positioneer, roteer en schaal een node met behulp van de vloeiende 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)Lokale positie van het knooppunt in de coördinatenruimte van zijn ouder.
scalingVector3(1, 1, 1)Lokale schaalfactoren langs elke as. Opmerking: de eigenschap is scaling, niet scale.
rotationQuaternionidentiteitLokale rotatie als een eenheidsquaternion. Het instellen hiervan werkt ook bij eulerAngles.
eulerAnglesVector3(0, 0, 0)Lokale rotatie uitgedrukt als Euler-hoeken in radialen (pitch, yaw, roll). Het instellen hiervan werkt ook bij rotation.
transformMatrixMatrix4identiteitDe volledige lokaal-naar-ouder transformatie‑matrix. Lui berekend vanuit de TRS‑eigenschappen; kan ook direct worden ingesteld om te ontleden in TRS‑componenten.
preRotationVector3(0, 0, 0)Euler-rotatie toegepast vóór de hoofdrotatie (gebruikt door FBX‑rigs).
postRotationVector3(0, 0, 0)Euler-rotatie toegepast na de hoofdrotatie (gebruikt door FBX-rigs).
scalingOffsetVector3(0, 0, 0)Translatie-offset toegepast vóór het schaalscharnier (FBX-compatibel).
scalingPivotVector3(0, 0, 0)Pivotpunt waar de schaal wordt toegepast.
rotationOffsetVector3(0, 0, 0)Translatie-offset toegepast vóór het rotatiepivot.
rotationPivotVector3(0, 0, 0)Draaiingspunt waar de rotatie op wordt toegepast.
geometricTranslationVector3(0, 0, 0)Geometrische translatie toegepast na de knooptransformatie (heeft invloed op geometrie, niet op kinderen).
geometricScalingVector3(1, 1, 1)Geometrische schaal toegepast na de knooptransformatie (heeft invloed op geometrie, niet op kinderen).
geometricRotationVector3(0, 0, 0)Geometrische rotatie toegepast na de knooptransformatie (heeft invloed op geometrie, niet op kinderen).

Transform

setTranslation(tx, ty, tz)

Stelt de lokale translatie in en retourneert this voor method chaining.

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

Transform

tx number — X-component van de translatie.

ty number — Y-component van de translatie.

tz number — Z-component van de translatie.

Transform

Transform — Hetzelfde Transform instantie voor chaining.

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)

Stelt de lokale schaal in en retourneert this voor method chaining.

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

Transform

sx number — Schaalfactor langs X.

sy number — Schaalfactor langs Y.

sz number — Schaalfactor langs Z.

Transform

Transform — Hetzelfde Transform instantie voor chaining.

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)

Stelt de rotatie in via Euler-hoeken in radialen en retourneert this. De rotation quaternion wordt automatisch bijgewerkt.

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

Transform

rx number — Pitch (rotatie rond X-as) in radialen.

ry number — Yaw (rotatie rond Y-as) in radialen.

rz number — Roll (rotatie rond Z-as) in radialen.

Transform

Transform — Hetzelfde Transform instantie voor chaining.

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)

Stelt de rotatie in vanuit quaternioncomponenten en retourneert this. De eulerAngles eigenschap wordt automatisch bijgewerkt.

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

Transform

rw number — Scalaire (w) component van de quaternion.

rx number — X‑component van het quaternion.

ry number — Y‑component van het quaternion.

rz number — Z‑component van het quaternion.

Transform

Transform — Hetzelfde Transform instance voor chaining.


setPreRotation(rx, ry, rz)

Stelt de pre‑rotatie Euler‑hoeken in radialen in en retourneert this.

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

Transform

Transform


setPostRotation(rx, ry, rz)

Stelt de post‑rotatie Euler‑hoeken in radialen in en retourneert this.

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

Transform

Transform


setGeometricTranslation(x, y, z)

Stelt de geometrische translatie‑offset in (heeft invloed op de geometrie van dit knooppunt, maar niet op de kinderen) en retourneert this.

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

Transform

Transform


setGeometricScaling(sx, sy, sz)

Stelt de geometrische schaal‑offset in en retourneert this.

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

Transform

Transform


setGeometricRotation(rx, ry, rz)

Stelt de geometrische rotatie‑offset in (Euler‑hoeken in radialen) en retourneert this.

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

Transform

Transform

 Nederlands