// Token: 0x060019A4 RID: 6564 RVA: 0x000E85F7 File Offset: 0x000E67F7
 public static void VEC4_COPY(ref NNS_QUATERNION d_vec, ref SNNS_VECTOR4D s_vec)
 {
     d_vec.x = s_vec.x;
     d_vec.y = s_vec.y;
     d_vec.z = s_vec.z;
     d_vec.w = s_vec.w;
 }
Example #2
0
    // Token: 0x06000F64 RID: 3940 RVA: 0x0008825C File Offset: 0x0008645C
    public static void amQuatMultiVector(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, ref NNS_QUATERNION pQuat, NNS_VECTOR4D pVec)
    {
        NNS_QUATERNION nns_QUATERNION  = default(NNS_QUATERNION);
        NNS_QUATERNION nns_QUATERNION2 = default(NNS_QUATERNION);
        NNS_QUATERNION nns_QUATERNION3 = default(NNS_QUATERNION);
        NNS_QUATERNION nns_QUATERNION4 = default(NNS_QUATERNION);

        AppMain.VEC4_COPY(ref nns_QUATERNION4, pSrc);
        nns_QUATERNION2.x = -pQuat.x;
        nns_QUATERNION2.y = -pQuat.y;
        nns_QUATERNION2.z = -pQuat.z;
        nns_QUATERNION2.w = pQuat.w;
        AppMain.nnMultiplyQuaternion(ref nns_QUATERNION3, ref pQuat, ref nns_QUATERNION4);
        AppMain.nnMultiplyQuaternion(ref nns_QUATERNION, ref nns_QUATERNION3, ref nns_QUATERNION2);
        if (pVec == null)
        {
            AppMain.VEC4_COPY(pDst, ref nns_QUATERNION);
            return;
        }
        NNS_VECTOR4D nns_VECTOR4D = GlobalPool <NNS_VECTOR4D> .Alloc();

        NNS_VECTOR4D nns_VECTOR4D2 = GlobalPool <NNS_VECTOR4D> .Alloc();

        AppMain.VEC4_COPY(nns_VECTOR4D, ref nns_QUATERNION);
        AppMain.VEC4_COPY(nns_VECTOR4D2, pVec);
        AppMain.amVectorAdd(pDst, nns_VECTOR4D, nns_VECTOR4D2);
        GlobalPool <NNS_VECTOR4D> .Release(nns_VECTOR4D);

        GlobalPool <NNS_VECTOR4D> .Release(nns_VECTOR4D2);
    }
Example #3
0
 // Token: 0x06000F68 RID: 3944 RVA: 0x0008849F File Offset: 0x0008669F
 public static void amQuatSet(ref NNS_QUATERNION pDst, float x, float y, float z, float w)
 {
     pDst.x = x;
     pDst.y = y;
     pDst.z = z;
     pDst.w = w;
 }
Example #4
0
    // Token: 0x06000F66 RID: 3942 RVA: 0x000883D8 File Offset: 0x000865D8
    public static void amQuatMultiVector(ref SNNS_VECTOR4D pDst, ref SNNS_VECTOR4D pSrc, ref NNS_QUATERNION pQuat, NNS_VECTOR4D pVec)
    {
        NNS_QUATERNION nns_QUATERNION  = default(NNS_QUATERNION);
        NNS_QUATERNION nns_QUATERNION2 = default(NNS_QUATERNION);
        NNS_QUATERNION nns_QUATERNION3 = default(NNS_QUATERNION);
        NNS_QUATERNION nns_QUATERNION4 = default(NNS_QUATERNION);

        AppMain.VEC4_COPY(ref nns_QUATERNION4, ref pSrc);
        nns_QUATERNION2.x = -pQuat.x;
        nns_QUATERNION2.y = -pQuat.y;
        nns_QUATERNION2.z = -pQuat.z;
        nns_QUATERNION2.w = pQuat.w;
        AppMain.nnMultiplyQuaternion(ref nns_QUATERNION3, ref pQuat, ref nns_QUATERNION4);
        AppMain.nnMultiplyQuaternion(ref nns_QUATERNION, ref nns_QUATERNION3, ref nns_QUATERNION2);
        if (pVec == null)
        {
            AppMain.VEC4_COPY(ref pDst, ref nns_QUATERNION);
            return;
        }
        SNNS_VECTOR4D snns_VECTOR4D  = default(SNNS_VECTOR4D);
        SNNS_VECTOR4D snns_VECTOR4D2 = default(SNNS_VECTOR4D);

        AppMain.VEC4_COPY(ref snns_VECTOR4D, ref nns_QUATERNION);
        AppMain.VEC4_COPY(ref snns_VECTOR4D2, pVec);
        AppMain.amVectorAdd(ref pDst, ref snns_VECTOR4D, ref snns_VECTOR4D2);
    }
Example #5
0
    // Token: 0x06000F5D RID: 3933 RVA: 0x0008803C File Offset: 0x0008623C
    public void amQuatVectorToQuat(ref NNS_QUATERNION pQuat, NNS_VECTOR4D pV1, NNS_VECTOR4D pV2)
    {
        NNS_VECTOR nns_VECTOR = GlobalPool <NNS_VECTOR> .Alloc();

        NNS_VECTOR nns_VECTOR2 = GlobalPool <NNS_VECTOR> .Alloc();

        NNS_VECTOR nns_VECTOR3 = GlobalPool <NNS_VECTOR> .Alloc();

        NNS_VECTOR nns_VECTOR4 = GlobalPool <NNS_VECTOR> .Alloc();

        AppMain.VEC3_COPY(nns_VECTOR, pV1);
        AppMain.VEC3_COPY(nns_VECTOR2, pV2);
        AppMain.nnAddVector(nns_VECTOR4, nns_VECTOR, nns_VECTOR2);
        float num = AppMain.nnDotProductVector(nns_VECTOR4, nns_VECTOR4);

        num = ( float )(1.0 / Math.Sqrt(( double )num));
        AppMain.nnScaleVector(nns_VECTOR2, nns_VECTOR4, num);
        AppMain.nnCrossProductVector(nns_VECTOR3, nns_VECTOR, nns_VECTOR2);
        AppMain.VEC3_COPY(pQuat, nns_VECTOR3);
        pQuat.w = AppMain.nnDotProductVector(nns_VECTOR, nns_VECTOR2);
        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR);

        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR2);

        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR3);

        GlobalPool <NNS_VECTOR> .Release(nns_VECTOR4);
    }
 // Token: 0x0600199C RID: 6556 RVA: 0x000E847D File Offset: 0x000E667D
 public static void VEC3_COPY(NNS_QUATERNION d_vec, NNS_VECTOR s_vec)
 {
     d_vec.x = s_vec.x;
     d_vec.y = s_vec.y;
     d_vec.z = s_vec.z;
     d_vec.z = 0f;
 }
Example #7
0
    // Token: 0x06000F6B RID: 3947 RVA: 0x000884D8 File Offset: 0x000866D8
    public static void amQuatUnitLerp(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pQ1, ref NNS_QUATERNION pQ2, float per)
    {
        NNS_QUATERNION nns_QUATERNION = default(NNS_QUATERNION);

        AppMain.amQuatLerp(ref nns_QUATERNION, ref pQ1, ref pQ2, per);
        AppMain.nnNormalizeQuaternion(ref pDst, ref nns_QUATERNION);
    }
Example #8
0
 // Token: 0x06001E9E RID: 7838 RVA: 0x0013AC5A File Offset: 0x00138E5A
 public void Assign(NNS_QUATERNION q)
 {
     this.x = q.x;
     this.y = q.y;
     this.z = q.z;
     this.w = q.w;
 }
Example #9
0
    // Token: 0x06000F62 RID: 3938 RVA: 0x000881EC File Offset: 0x000863EC
    public static void amQuatMultiMatrix(ref NNS_QUATERNION pQuat, ref SNNS_VECTOR pVec)
    {
        NNS_MATRIX nns_MATRIX = AppMain.amMatrixGetCurrent();

        AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat);
        AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, ref pVec);
        AppMain.nnMultiplyMatrix(nns_MATRIX, nns_MATRIX, ref AppMain.tempSNNS_MATRIX0);
    }
Example #10
0
    // Token: 0x06000F5C RID: 3932 RVA: 0x00088008 File Offset: 0x00086208
    public void amQuatToEulerXYZ(out int ax, out int ay, out int az, ref NNS_QUATERNION pQuat)
    {
        float n;
        float n2;
        float n3;

        this.amQuatToEulerXYZ(out n, out n2, out n3, ref pQuat);
        ax = AppMain.NNM_RADtoA32(n);
        ay = AppMain.NNM_RADtoA32(n2);
        az = AppMain.NNM_RADtoA32(n3);
    }
Example #11
0
    // Token: 0x06000F5E RID: 3934 RVA: 0x000880D8 File Offset: 0x000862D8
    public static void amQuatRotAxisToQuat(ref NNS_QUATERNION pQuat, NNS_VECTOR4D pVec, float radian)
    {
        radian *= 0.5f;
        float num;
        float w;

        AppMain.amSinCos(radian, out num, out w);
        pQuat.x = pVec.x * num;
        pQuat.y = pVec.y * num;
        pQuat.z = pVec.z * num;
        pQuat.w = w;
    }
Example #12
0
    // Token: 0x06000F5B RID: 3931 RVA: 0x00087E30 File Offset: 0x00086030
    public void amQuatToEulerXYZ(out float rx, out float ry, out float rz, ref NNS_QUATERNION pQuat)
    {
        rx = (ry = (rz = 0f));
        NNS_QUATERNION nns_QUATERNION = default(NNS_QUATERNION);

        AppMain.amQuatUnit(ref nns_QUATERNION, ref pQuat);
        float num   = nns_QUATERNION.x * nns_QUATERNION.x;
        float num2  = nns_QUATERNION.x * nns_QUATERNION.y;
        float num3  = nns_QUATERNION.x * nns_QUATERNION.z;
        float num4  = nns_QUATERNION.x * nns_QUATERNION.w;
        float num5  = nns_QUATERNION.y * nns_QUATERNION.y;
        float num6  = nns_QUATERNION.y * nns_QUATERNION.z;
        float num7  = nns_QUATERNION.y * nns_QUATERNION.w;
        float num8  = nns_QUATERNION.z * nns_QUATERNION.z;
        float num9  = nns_QUATERNION.z * nns_QUATERNION.w;
        float num10 = 1f - 2f * (num5 + num8);
        float num11 = 2f * (num2 + num9);
        float num12 = 2f * (num3 - num7);
        float num13 = 1f - AppMain.amPow2(num12);

        ry    = ( float )Math.Atan2(( double )(-( double )num12), (num13 > 0f) ? Math.Sqrt(( double )num13) : 0.0);
        num13 = ( float )Math.Sqrt(( double )(AppMain.amPow2(num10) + AppMain.amPow2(num11)));
        float num14;
        float num15;

        if (AppMain.amIsZerof(num13))
        {
            num14 = 0f;
            num15 = 1f;
        }
        else
        {
            num14 = num11 / num13;
            num15 = num10 / num13;
        }
        float num16 = 2f * (num2 - num9);
        float num17 = 2f * (num3 + num7);
        float num18 = 1f - 2f * (num + num8);
        float num19 = 2f * (num6 - num4);
        float num20 = num17 * num14 - num19 * num15;
        float num21 = num18 * num15 - num16 * num14;

        rx = ( float )Math.Atan2(( double )num20, ( double )num21);
        rz = ( float )Math.Atan2(( double )num14, ( double )num15);
    }
Example #13
0
 // Token: 0x06000F5F RID: 3935 RVA: 0x0008812C File Offset: 0x0008632C
 public static void amQuatToMatrix(NNS_MATRIX pMtx, ref NNS_QUATERNION pQuat, NNS_VECTOR4D pVec)
 {
     if (pMtx == null)
     {
         NNS_MATRIX dst = AppMain.amMatrixGetCurrent();
         AppMain.nnMakeQuaternionMatrix(out AppMain.tempSNNS_MATRIX0, ref pQuat);
         if (pVec != null)
         {
             AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, pVec);
         }
         AppMain.nnCopyMatrix(dst, ref AppMain.tempSNNS_MATRIX0);
         return;
     }
     AppMain.nnMakeQuaternionMatrix(pMtx, ref pQuat);
     if (pVec != null)
     {
         AppMain.nnCopyVectorMatrixTranslation(ref AppMain.tempSNNS_MATRIX0, pVec);
     }
 }
Example #14
0
 // Token: 0x06000F6E RID: 3950 RVA: 0x00088514 File Offset: 0x00086714
 public static void amQuatEulerToQuatXYZ(ref NNS_QUATERNION pQuat, NNS_VECTOR4D pRot)
 {
     AppMain.nnMakeRotateXYZQuaternion(out pQuat, AppMain.NNM_RADtoA32(pRot.x), AppMain.NNM_RADtoA32(pRot.y), AppMain.NNM_RADtoA32(pRot.z));
 }
Example #15
0
 // Token: 0x06000F67 RID: 3943 RVA: 0x00088490 File Offset: 0x00086690
 public static void amQuatRotAxisToQuat(ref NNS_QUATERNION pQuat, NNS_VECTOR4D pVec, int angle)
 {
     AppMain.amQuatRotAxisToQuat(ref pQuat, pVec, AppMain.NNM_A32toRAD(angle));
 }
Example #16
0
 // Token: 0x06000F75 RID: 3957 RVA: 0x0008859B File Offset: 0x0008679B
 public static void amQuatCopy(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pSrc)
 {
     AppMain.nnCopyQuaternion(ref pDst, ref pSrc);
 }
Example #17
0
 // Token: 0x06000F76 RID: 3958 RVA: 0x000885A4 File Offset: 0x000867A4
 public static void amQuatInit(ref NNS_QUATERNION pQuat)
 {
     AppMain.nnMakeUnitQuaternion(ref pQuat);
 }
Example #18
0
 // Token: 0x06000F73 RID: 3955 RVA: 0x00088587 File Offset: 0x00086787
 public static void amQuatUnit(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pSrc)
 {
     AppMain.nnNormalizeQuaternion(ref pDst, ref pSrc);
 }
Example #19
0
 // Token: 0x06000F74 RID: 3956 RVA: 0x00088591 File Offset: 0x00086791
 public static void amQuatInverse(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pSrc)
 {
     AppMain.nnInvertQuaternion(ref pDst, ref pSrc);
 }
Example #20
0
 // Token: 0x06000F71 RID: 3953 RVA: 0x00088562 File Offset: 0x00086762
 public static void amQuatMakeRotateAxis(ref NNS_QUATERNION pDst, NNS_VECTOR pV, int ang)
 {
     AppMain.nnMakeRotateAxisQuaternion(out pDst, pV.x, pV.y, pV.z, ang);
 }
Example #21
0
 // Token: 0x06000F72 RID: 3954 RVA: 0x0008857D File Offset: 0x0008677D
 public static void amQuatMulti(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pQ1, ref NNS_QUATERNION pQ2)
 {
     AppMain.nnMultiplyQuaternion(ref pDst, ref pQ1, ref pQ2);
 }
Example #22
0
 // Token: 0x06000F70 RID: 3952 RVA: 0x00088557 File Offset: 0x00086757
 public static void amQuatEulerToQuatXYZ(ref NNS_QUATERNION pQuat, int ax, int ay, int az)
 {
     AppMain.nnMakeRotateXYZQuaternion(out pQuat, ax, ay, az);
 }
Example #23
0
 // Token: 0x06000F6F RID: 3951 RVA: 0x0008853D File Offset: 0x0008673D
 public static void amQuatEulerToQuatXYZ(ref NNS_QUATERNION pQuat, float rx, float ry, float rz)
 {
     AppMain.nnMakeRotateXYZQuaternion(out pQuat, AppMain.NNM_RADtoA32(rx), AppMain.NNM_RADtoA32(ry), AppMain.NNM_RADtoA32(rz));
 }
Example #24
0
 // Token: 0x06000F69 RID: 3945 RVA: 0x000884BE File Offset: 0x000866BE
 public static void amQuatSquad(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pQ1, ref NNS_QUATERNION pQ2, ref NNS_QUATERNION pQ3, ref NNS_QUATERNION pQ4, float t)
 {
     AppMain.nnSquadQuaternion(ref pDst, ref pQ1, ref pQ2, ref pQ3, ref pQ4, t);
 }
Example #25
0
 // Token: 0x06000F6D RID: 3949 RVA: 0x0008850B File Offset: 0x0008670B
 public static void amQuatMatrixToQuat(ref NNS_QUATERNION pQuat, NNS_MATRIX pMtx)
 {
     AppMain.nnMakeRotateMatrixQuaternion(out pQuat, pMtx);
 }
Example #26
0
 // Token: 0x06000F6C RID: 3948 RVA: 0x00088500 File Offset: 0x00086700
 public static void amQuatLerp(ref NNS_QUATERNION pDst, ref NNS_QUATERNION pQ1, ref NNS_QUATERNION pQ2, float per)
 {
     AppMain.nnLerpQuaternion(ref pDst, ref pQ1, ref pQ2, per);
 }