GlobalTransform – Aspose.3D FOSS for Java
Notes
GlobalTransform är en skrivskyddad ögonblicksbild av en Node’s världsrums-transformation. Den erhålls via node.getGlobalTransform() och återspeglar sammansättningen av nodens egna Transform med varje förälders transform upp till scenroten.
Alla egenskaper är skrivskyddade. För att ändra en nods position, ändra nodens lokala Transform istället.
Notes: com.aspose.threed
import com.aspose.threed.GlobalTransform;GlobalTransform instansieras normalt inte direkt; du får den från node.getGlobalTransform().
Notes
| Class | Description |
|---|---|
GlobalTransform | Read-only world-space transform snapshot. Exposes the composed translation, rotation, scale, and matrix of a node in world space. |
| Name | Type | Access | Description |
|---|---|---|---|
translation | Vector3 | Read | Returns the world-space translation (position) of the node. |
rotation | Vector3 | Read | Returns the world-space rotation (Euler angles) of the node. |
scale | Vector3 | Read | Returns the world-space scale of the node. |
transformMatrix | Matrix4 | Read | Returns the full 4x4 world-space transformation matrix. |
| Signature | Description |
|---|---|
getTranslation() to Vector3 | Returns the world-space translation of the node. |
getRotation() to Vector3 | Returns the world-space rotation of the node. |
getScale() to Vector3 | Returns the world-space scale of the node. |
getTransformMatrix() to Matrix4 | Returns the full 4x4 world-space transformation matrix. |
Notes
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);Notes
GlobalTransformberäknas vid tidpunktennode.getGlobalTransform()åtkomst; den är inte uppdateras dynamiskt om en föräldraknodsTransformsenare ändringar.- Getter-funktionen är
getScale()påGlobalTransform(integetScaling()). Den lokalaTransformanvändergetScaling()för den skrivbara skalegenskapen.