/** * A callback target for the controller listener. When this callback triggers, the pos of the mount point will * cuange to the value of the pose parameter. This is mainly designed as a callback, and not intended to be part * of the public interface of this class. * @param pose - the controller pose - a homogenous transformation matrix. * @param handIndex - the hand index - 0 for left and 1 for right. */ public void poseChanged(Matrix4f pose, int handIndex) { // do nothing for the second controller // TODO: put a hand for the second controller. if (handIndex != 0) { return; } trackingDataReceived = true; Matrix4f adjustedPose = pose.mul(toolAdjustmentMatrix); translate = new Vector3f(adjustedPose.m30(), adjustedPose.m31(), adjustedPose.m32()); org.joml.Vector4f jomlQuaternion = org.terasology.rendering.openvrprovider.OpenVRUtil.convertToQuaternion(adjustedPose); if (rotationQuaternion == null) { rotationQuaternion = new Quat4f(jomlQuaternion.x, jomlQuaternion.y, jomlQuaternion.z, jomlQuaternion.w); } else { rotationQuaternion.set(jomlQuaternion.x, jomlQuaternion.y, jomlQuaternion.z, jomlQuaternion.w); } } }
org.joml.Matrix4f rightEyePose = vrProvider.getState().getEyePose(1); float halfIPD = (float) Math.sqrt(Math.pow(leftEyePose.m30() - rightEyePose.m30(), 2) + Math.pow(leftEyePose.m31() - rightEyePose.m31(), 2) + Math.pow(leftEyePose.m32() - rightEyePose.m32(), 2)) / 2.0f; if (Math.sqrt(Math.pow(leftEyePose.m30(), 2) + Math.pow(leftEyePose.m31(), 2) + Math.pow(leftEyePose.m32(), 2)) < 0.25) { return;
private void jomlMatrix4f(org.joml.Matrix4f matrixInput, org.terasology.math.geom.Matrix4f matrixOut) { matrixOut.set(0, 0, matrixInput.m00()); matrixOut.set(0, 1, matrixInput.m10()); matrixOut.set(0, 2, matrixInput.m20()); matrixOut.set(0, 3, matrixInput.m30()); matrixOut.set(1, 0, matrixInput.m01()); matrixOut.set(1, 1, matrixInput.m11()); matrixOut.set(1, 2, matrixInput.m21()); matrixOut.set(1, 3, matrixInput.m31()); matrixOut.set(2, 0, matrixInput.m02()); matrixOut.set(2, 1, matrixInput.m12()); matrixOut.set(2, 2, matrixInput.m22()); matrixOut.set(2, 3, matrixInput.m32()); matrixOut.set(3, 0, matrixInput.m03()); matrixOut.set(3, 1, matrixInput.m13()); matrixOut.set(3, 2, matrixInput.m23()); matrixOut.set(3, 3, matrixInput.m33()); }
public void putColumn3(Matrix4f src, Vector3f dest) { dest.x = src.m30(); dest.y = src.m31(); dest.z = src.m32(); }
public void putColumn3(Matrix4f src, Vector3f dest) { dest.x = src.m30(); dest.y = src.m31(); dest.z = src.m32(); }
public void put4x3_0(Matrix4f m, ByteBuffer dest) { dest.putFloat(0, m.m00()); dest.putFloat(4, m.m01()); dest.putFloat(8, m.m02()); dest.putFloat(12, m.m10()); dest.putFloat(16, m.m11()); dest.putFloat(20, m.m12()); dest.putFloat(24, m.m20()); dest.putFloat(28, m.m21()); dest.putFloat(32, m.m22()); dest.putFloat(36, m.m30()); dest.putFloat(40, m.m31()); dest.putFloat(44, m.m32()); } private void put4x3_N(Matrix4f m, int offset, ByteBuffer dest) {
public void put4x3Transposed(Matrix4f m, int offset, FloatBuffer dest) { dest.put(offset, m.m00()); dest.put(offset+1, m.m10()); dest.put(offset+2, m.m20()); dest.put(offset+3, m.m30()); dest.put(offset+4, m.m01()); dest.put(offset+5, m.m11()); dest.put(offset+6, m.m21()); dest.put(offset+7, m.m31()); dest.put(offset+8, m.m02()); dest.put(offset+9, m.m12()); dest.put(offset+10, m.m22()); dest.put(offset+11, m.m32()); }
public void put4x3Transposed(Matrix4f m, int offset, ByteBuffer dest) { dest.putFloat(offset, m.m00()); dest.putFloat(offset+4, m.m10()); dest.putFloat(offset+8, m.m20()); dest.putFloat(offset+12, m.m30()); dest.putFloat(offset+16, m.m01()); dest.putFloat(offset+20, m.m11()); dest.putFloat(offset+24, m.m21()); dest.putFloat(offset+28, m.m31()); dest.putFloat(offset+32, m.m02()); dest.putFloat(offset+36, m.m12()); dest.putFloat(offset+40, m.m22()); dest.putFloat(offset+44, m.m32()); }
public void put4x3Transposed(Matrix4f m, int offset, FloatBuffer dest) { dest.put(offset, m.m00()); dest.put(offset+1, m.m10()); dest.put(offset+2, m.m20()); dest.put(offset+3, m.m30()); dest.put(offset+4, m.m01()); dest.put(offset+5, m.m11()); dest.put(offset+6, m.m21()); dest.put(offset+7, m.m31()); dest.put(offset+8, m.m02()); dest.put(offset+9, m.m12()); dest.put(offset+10, m.m22()); dest.put(offset+11, m.m32()); }
public void put4x3Transposed(Matrix4f m, int offset, ByteBuffer dest) { dest.putFloat(offset, m.m00()); dest.putFloat(offset+4, m.m10()); dest.putFloat(offset+8, m.m20()); dest.putFloat(offset+12, m.m30()); dest.putFloat(offset+16, m.m01()); dest.putFloat(offset+20, m.m11()); dest.putFloat(offset+24, m.m21()); dest.putFloat(offset+28, m.m31()); dest.putFloat(offset+32, m.m02()); dest.putFloat(offset+36, m.m12()); dest.putFloat(offset+40, m.m22()); dest.putFloat(offset+44, m.m32()); }
public void put4x3_N(Matrix4f m, int offset, FloatBuffer dest) { dest.put(offset, m.m00()); dest.put(offset+1, m.m01()); dest.put(offset+2, m.m02()); dest.put(offset+3, m.m10()); dest.put(offset+4, m.m11()); dest.put(offset+5, m.m12()); dest.put(offset+6, m.m20()); dest.put(offset+7, m.m21()); dest.put(offset+8, m.m22()); dest.put(offset+9, m.m30()); dest.put(offset+10, m.m31()); dest.put(offset+11, m.m32()); } public void put4x3(Matrix4f m, int offset, FloatBuffer dest) {
public void put4x3_0(Matrix4f m, FloatBuffer dest) { dest.put(0, m.m00()); dest.put(1, m.m01()); dest.put(2, m.m02()); dest.put(3, m.m10()); dest.put(4, m.m11()); dest.put(5, m.m12()); dest.put(6, m.m20()); dest.put(7, m.m21()); dest.put(8, m.m22()); dest.put(9, m.m30()); dest.put(10, m.m31()); dest.put(11, m.m32()); } public void put4x3_N(Matrix4f m, int offset, FloatBuffer dest) {
public void putColumn3(Matrix4f src, Vector4f dest) { dest.x = src.m30(); dest.y = src.m31(); dest.z = src.m32(); dest.w = src.m33(); }
public void putColumn3(Matrix4f src, Vector4f dest) { dest.x = src.m30(); dest.y = src.m31(); dest.z = src.m32(); dest.w = src.m33(); }
public void copy4x3(Matrix4f src, Matrix4f dest) { dest._m00(src.m00()); dest._m01(src.m01()); dest._m02(src.m02()); dest._m10(src.m10()); dest._m11(src.m11()); dest._m12(src.m12()); dest._m20(src.m20()); dest._m21(src.m21()); dest._m22(src.m22()); dest._m30(src.m30()); dest._m31(src.m31()); dest._m32(src.m32()); }
public void put4x3Transposed(Matrix4f m, long destAddr) { UNSAFE.putFloat(null, destAddr, m.m00()); UNSAFE.putFloat(null, destAddr + 4, m.m10()); UNSAFE.putFloat(null, destAddr + 8, m.m20()); UNSAFE.putFloat(null, destAddr + 12, m.m30()); UNSAFE.putFloat(null, destAddr + 16, m.m01()); UNSAFE.putFloat(null, destAddr + 20, m.m11()); UNSAFE.putFloat(null, destAddr + 24, m.m21()); UNSAFE.putFloat(null, destAddr + 28, m.m31()); UNSAFE.putFloat(null, destAddr + 32, m.m02()); UNSAFE.putFloat(null, destAddr + 36, m.m12()); UNSAFE.putFloat(null, destAddr + 40, m.m22()); UNSAFE.putFloat(null, destAddr + 44, m.m32()); }
public void copy(Matrix4f src, Matrix4x3f dest) { dest._m00(src.m00()); dest._m01(src.m01()); dest._m02(src.m02()); dest._m10(src.m10()); dest._m11(src.m11()); dest._m12(src.m12()); dest._m20(src.m20()); dest._m21(src.m21()); dest._m22(src.m22()); dest._m30(src.m30()); dest._m31(src.m31()); dest._m32(src.m32()); }
public void copy(Matrix4f src, Matrix4x3f dest) { dest._m00(src.m00()); dest._m01(src.m01()); dest._m02(src.m02()); dest._m10(src.m10()); dest._m11(src.m11()); dest._m12(src.m12()); dest._m20(src.m20()); dest._m21(src.m21()); dest._m22(src.m22()); dest._m30(src.m30()); dest._m31(src.m31()); dest._m32(src.m32()); }
public void put4x3Transposed(Matrix4f m, long destAddr) { UNSAFE.putFloat(null, destAddr, m.m00()); UNSAFE.putFloat(null, destAddr + 4, m.m10()); UNSAFE.putFloat(null, destAddr + 8, m.m20()); UNSAFE.putFloat(null, destAddr + 12, m.m30()); UNSAFE.putFloat(null, destAddr + 16, m.m01()); UNSAFE.putFloat(null, destAddr + 20, m.m11()); UNSAFE.putFloat(null, destAddr + 24, m.m21()); UNSAFE.putFloat(null, destAddr + 28, m.m31()); UNSAFE.putFloat(null, destAddr + 32, m.m02()); UNSAFE.putFloat(null, destAddr + 36, m.m12()); UNSAFE.putFloat(null, destAddr + 40, m.m22()); UNSAFE.putFloat(null, destAddr + 44, m.m32()); }
public void copy4x3(Matrix4f src, Matrix4f dest) { dest._m00(src.m00()); dest._m01(src.m01()); dest._m02(src.m02()); dest._m10(src.m10()); dest._m11(src.m11()); dest._m12(src.m12()); dest._m20(src.m20()); dest._m21(src.m21()); dest._m22(src.m22()); dest._m30(src.m30()); dest._m31(src.m31()); dest._m32(src.m32()); }