GlobalTransform — Aspose.3D FOSS for Java
Methods
GlobalTransform este un doar pentru citire instantaneu al unui Node’s transformarea în spațiul mondial. Este obținută prin node.getGlobalTransform() și reflectă compunerea propriei Transform cu transformarea fiecărui strămoș până la rădăcina scenei.
Toate proprietățile sunt doar pentru citire. Pentru a schimba poziția unui nod, modifică localul nodului Transform în schimb.
Methods: com.aspose.threed
import com.aspose.threed.GlobalTransform;GlobalTransform nu este de obicei instanțiat direct; îl primești de la node.getGlobalTransform().
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
translation | Vector3 | getTranslation() | Poziția în spațiul mondial a nodului |
scale | Vector3 | getScale() | Scara în spațiul mondial a nodului |
rotation | Quaternion | getRotation() | Rotație în spațiul global ca un quaternion |
eulerAngles | Vector3 | getEulerAngles() | Rotație în spațiul global ca unghiuri Euler în radiani (roll, pitch, yaw) |
transformMatrix | Matrix4 | getTransformMatrix() | Matrice completă de transformare 4x4 în spațiul global |
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
GlobalTransformeste calculat la momentulnode.getGlobalTransform()este accesat; este nu actualizat dinamic dacă al unui nod părinteTransformschimbări ulterioare.- Getter-ul este
getScale()peGlobalTransform(nugetScaling()). LocalulTransformfoloseștegetScaling()pentru proprietatea de scară scriabilă.