Computes the transformation matrix of this node. This method can be overriden if a custom matrix is required. There is usually no reason to call this method directly.
Source
Matrix4 computeTransformMatrix() { double cx, sx, cy, sy; if (_rotation == 0.0) { cx = 1.0; sx = 0.0; cy = 1.0; sy = 0.0; } else { double radiansX = convertDegrees2Radians(_rotation); double radiansY = convertDegrees2Radians(_rotation); cx = math.cos(radiansX); sx = math.sin(radiansX); cy = math.cos(radiansY); sy = math.sin(radiansY); } // Create transformation matrix for scale, position and rotation Matrix4 matrix = new Matrix4(cy * _scaleX, sy * _scaleX, 0.0, 0.0, -sx * _scaleY, cx * _scaleY, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, _position.x, _position.y, 0.0, 1.0); if (_skewX != 0.0 || _skewY != 0.0) { // Needs skew transform Matrix4 skew = new Matrix4(1.0, math.tan(radians(_skewX)), 0.0, 0.0, math.tan(radians(_skewY)), 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); matrix.multiply(skew); } return matrix; }