GlobalTransform

GlobalTransform

Methods

GlobalTransform is een alleen-lezen momentopname van een Node’s wereld-ruimtetransformatie. Het wordt verkregen via node.getGlobalTransform() en weerspiegelt de compositie van de eigen Transform met de transformatie van elke voorouder tot aan de scenewortel.

Alle eigenschappen zijn alleen-lezen. Om de positie van een knoop te wijzigen, wijzig de lokale Transform in plaats daarvan.

Methods: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform wordt normaal niet direct geïnstantieerd; je ontvangt het van node.getGlobalTransform().

Methods

NameTypeAccessDescription
translationVector3ReadGets the translation.
scaleVector3ReadGets the scale.
eulerAnglesVector3ReadGets the rotation represented in Euler angles, measured in degree.
rotationQuaternionReadGets the rotation represented in quaternion.
transformMatrixMatrix4ReadGets the transform matrix.
SignatureDescription
GlobalTransform()Initializes a new instance of the GlobalTransform class.
GlobalTransform(matrix: Matrix4)Initializes a new instance of the GlobalTransform class with the specified matrix.
getTranslation()Vector3Gets the translation.
getScale()Vector3Gets the scale.
getEulerAngles()Vector3Gets the rotation represented in Euler angles, measured in degree.
getRotation()QuaternionGets the rotation represented in quaternion.
getTransformMatrix()Matrix4Gets the transform matrix.

Methods

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.GlobalTransform;
import com.aspose.threed.*;


Scene scene = new Scene();

// Create a parent node at (10, 0, 0)
Node parent = scene.getRootNode().createChildNode("parent");
parent.getTransform().setTranslation(new Vector3(10.0, 0.0, 0.0));

// Create a child node at (5, 0, 0) relative to parent
Node child = parent.createChildNode("child");
child.getTransform().setTranslation(new Vector3(5.0, 0.0, 0.0));

// Read world-space position
GlobalTransform gt = child.getGlobalTransform();
System.out.println(gt.getTranslation());          // Vector3(15.0, 0.0, 0.0)
System.out.println(gt.getScale());                 // Vector3(1.0, 1.0, 1.0)

// Access the 4x4 matrix directly
Matrix4 mat = gt.getTransformMatrix();
System.out.println(mat.m03);   // 15.0 -- world-space X translation

// Euler angles in degrees
Vector3 angles = gt.getEulerAngles();
System.out.println(Math.toDegrees(angles.x));   // 0.0 (no rotation)

// Using evaluateGlobalTransform to include geometric offset
Matrix4 manualMat = child.evaluateGlobalTransform(true);

Methods

  • GlobalTransform wordt berekend op het moment node.getGlobalTransform() wordt benaderd; het is niet dynamisch bijgewerkt als een bovenliggend knooppunt Transform latere wijzigingen.
  • De getter is getScale() aan GlobalTransform (niet getScaling()). De lokale Transform gebruikt getScaling() voor de schrijfbare schaal-eigenschap.

Zie ook

 Nederlands