// Token: 0x060019D1 RID: 6609 RVA: 0x000E9002 File Offset: 0x000E7202
 public static void amVectorSub(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, float x, float y, float z)
 {
     pDst.x = pSrc.x - x;
     pDst.y = pSrc.y - y;
     pDst.z = pSrc.z - z;
     pDst.w = pSrc.w;
 }
 // Token: 0x060019D6 RID: 6614 RVA: 0x000E9168 File Offset: 0x000E7368
 public static void amVectorGetAverage(NNS_VECTOR4D pDst, NNS_VECTOR4D pV1, NNS_VECTOR4D pV2, float p1, float p2)
 {
     pDst.x = pV1.x * p1 + pV2.x * p2;
     pDst.y = pV1.y * p1 + pV2.y * p2;
     pDst.z = pV1.z * p1 + pV2.z * p2;
     pDst.w = pV1.w;
 }
 // Token: 0x060019A0 RID: 6560 RVA: 0x000E8530 File Offset: 0x000E6730
 public static void VEC4_COPY(ref SNNS_VECTOR4D d_vec, NNS_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;
 }
 // Token: 0x060019CF RID: 6607 RVA: 0x000E8F58 File Offset: 0x000E7158
 public static void amVectorSub(NNS_VECTOR4D pDst, ref NNS_VECTOR4D pV1, NNS_VECTOR4D pV2)
 {
     pDst.x = pV1.x - pV2.x;
     pDst.y = pV1.y - pV2.y;
     pDst.z = pV1.z - pV2.z;
     pDst.w = pV1.w;
 }
 // Token: 0x060019C1 RID: 6593 RVA: 0x000E8BE4 File Offset: 0x000E6DE4
 public static void amVectorAdd(NNS_VECTOR4D pDst, NNS_VECTOR4D pV1, NNS_VECTOR4D pV2)
 {
     pDst.x = pV1.x + pV2.x;
     pDst.y = pV1.y + pV2.y;
     pDst.z = pV1.z + pV2.z;
     pDst.w = pV1.w;
 }
 // Token: 0x060019C7 RID: 6599 RVA: 0x000E8D5D File Offset: 0x000E6F5D
 public static void amVectorAdd(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, float x, float y, float z)
 {
     pDst.x = pSrc.x + x;
     pDst.y = pSrc.y + y;
     pDst.z = pSrc.z + z;
     pDst.w = pSrc.w;
 }
 // Token: 0x060019B6 RID: 6582 RVA: 0x000E88B3 File Offset: 0x000E6AB3
 public static void amVectorCopy(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc)
 {
     pDst.x = pSrc.x;
     pDst.y = pSrc.y;
     pDst.z = pSrc.z;
     pDst.w = pSrc.w;
 }
 // Token: 0x060019B2 RID: 6578 RVA: 0x000E87FE File Offset: 0x000E69FE
 public static void amVectorSet(NNS_VECTOR4D pDst, float x, float y, float z, float w)
 {
     pDst.x = x;
     pDst.y = y;
     pDst.z = z;
     pDst.w = w;
 }
 // Token: 0x060019B0 RID: 6576 RVA: 0x000E87B6 File Offset: 0x000E69B6
 public static void amVectorSet(ref NNS_VECTOR4D pDst, float x, float y, float z)
 {
     pDst.x = x;
     pDst.y = y;
     pDst.z = z;
     pDst.w = 1f;
 }
 // Token: 0x060019A1 RID: 6561 RVA: 0x000E8562 File Offset: 0x000E6762
 public static void VEC4_COPY(NNS_VECTOR4D d_vec, ref NNS_QUATERNION 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;
 }
 // Token: 0x060019F5 RID: 6645 RVA: 0x000E9AE8 File Offset: 0x000E7CE8
 public void amVectorMul(NNS_VECTOR4D pDst, NNS_VECTOR4D pV1, NNS_VECTOR4D pV2)
 {
     pDst.x = pV1.x * pV2.x;
     pDst.y = pV1.y * pV2.y;
     pDst.z = pV1.z * pV2.z;
     pDst.w = pV1.w;
 }
Beispiel #12
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);
    }
Beispiel #13
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);
    }
Beispiel #14
0
 public void Assign(NNS_VECTOR4D v)
 {
     this.x = v.x;
     this.y = v.y;
     this.z = v.z;
     this.w = v.w;
 }
    // Token: 0x06000A71 RID: 2673 RVA: 0x0005C8E8 File Offset: 0x0005AAE8
    public static void amMatrixCalcPoint(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc)
    {
        NNS_MATRIX mtx = AppMain.amMatrixGetCurrent();

        AppMain.nnTransformVector(pDst, mtx, pSrc);
        pDst.w = pSrc.w;
    }
 // Token: 0x06001A07 RID: 6663 RVA: 0x000EA0F4 File Offset: 0x000E82F4
 public void amVectorFloor(AMS_VECTOR4I pDst, NNS_VECTOR4D pSrc)
 {
     pDst.x = ( int )Math.Floor(( double )pSrc.x);
     pDst.y = ( int )Math.Floor(( double )pSrc.y);
     pDst.z = ( int )Math.Floor(( double )pSrc.z);
     pDst.w = ( int )Math.Floor(( double )pSrc.w);
 }
 // Token: 0x06001A08 RID: 6664 RVA: 0x000EA151 File Offset: 0x000E8351
 public void amVectorIntToFloat(NNS_VECTOR4D pDst, AMS_VECTOR4I pSrc)
 {
     pDst.x = ( float )pSrc.x;
     pDst.y = ( float )pSrc.y;
     pDst.z = ( float )pSrc.z;
     pDst.w = ( float )pSrc.w;
 }
 // Token: 0x060019E6 RID: 6630 RVA: 0x000E967A File Offset: 0x000E787A
 public static void amVectorScale(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, float sc)
 {
     pDst.x = pSrc.x * sc;
     pDst.y = pSrc.y * sc;
     pDst.z = pSrc.z * sc;
     pDst.w = pSrc.w;
 }
 // Token: 0x06001A06 RID: 6662 RVA: 0x000EA020 File Offset: 0x000E8220
 public void amVectorTrunc(AMS_VECTOR4I pDst, NNS_VECTOR4D pSrc)
 {
     pDst.x = ( int )((pSrc.x >= 0f) ? Math.Floor(( double )pSrc.x) : (-( int )Math.Floor(( double )(-( double )pSrc.x))));
     pDst.y = ( int )((pSrc.y >= 0f) ? Math.Floor(( double )pSrc.y) : (-( int )Math.Floor(( double )(-( double )pSrc.y))));
     pDst.z = ( int )((pSrc.z >= 0f) ? Math.Floor(( double )pSrc.z) : (-( int )Math.Floor(( double )(-( double )pSrc.z))));
     pDst.w = ( int )((pSrc.w >= 0f) ? Math.Floor(( double )pSrc.w) : (-( int )Math.Floor(( double )(-( double )pSrc.w))));
 }
 // Token: 0x06001A01 RID: 6657 RVA: 0x000E9E54 File Offset: 0x000E8054
 public void amVectorClamp(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, NNS_VECTOR4D pMin, NNS_VECTOR4D pMax)
 {
     pDst.x = AppMain.amClamp(pSrc.x, pMin.x, pMax.x);
     pDst.y = AppMain.amClamp(pSrc.y, pMin.y, pMax.y);
     pDst.z = AppMain.amClamp(pSrc.z, pMin.z, pMax.z);
     pDst.w = pSrc.w;
 }
 // Token: 0x06001A02 RID: 6658 RVA: 0x000E9EC8 File Offset: 0x000E80C8
 public void amVectorClamp(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, float min, float max)
 {
     pDst.x = AppMain.amClamp(pSrc.x, min, max);
     pDst.y = AppMain.amClamp(pSrc.y, min, max);
     pDst.z = AppMain.amClamp(pSrc.z, min, max);
     pDst.w = pSrc.w;
 }
 // Token: 0x060019FD RID: 6653 RVA: 0x000E9D18 File Offset: 0x000E7F18
 public void amVectorMin(NNS_VECTOR4D pDst, NNS_VECTOR4D pV1, NNS_VECTOR4D pV2)
 {
     pDst.x = AppMain.amMin <float>(pV1.x, pV2.x);
     pDst.y = AppMain.amMin <float>(pV1.y, pV2.y);
     pDst.z = AppMain.amMin <float>(pV1.z, pV2.z);
     pDst.w = pV1.w;
 }
 // Token: 0x060019FE RID: 6654 RVA: 0x000E9D78 File Offset: 0x000E7F78
 public void amVectorMin(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, float val)
 {
     pDst.x = AppMain.amMin <float>(pSrc.x, val);
     pDst.y = AppMain.amMin <float>(pSrc.y, val);
     pDst.z = AppMain.amMin <float>(pSrc.z, val);
     pDst.w = pSrc.w;
 }
 // Token: 0x060019F7 RID: 6647 RVA: 0x000E9B75 File Offset: 0x000E7D75
 public void amVectorMul(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc, float x, float y, float z)
 {
     pDst.x = pSrc.x * x;
     pDst.y = pSrc.y * y;
     pDst.z = pSrc.z * z;
     pDst.w = pSrc.w;
 }
 // Token: 0x060019AA RID: 6570 RVA: 0x000E86FF File Offset: 0x000E68FF
 public static void amVectorOne(NNS_VECTOR4D pVec)
 {
     pVec.x = 1f;
     pVec.y = 1f;
     pVec.z = 1f;
     pVec.w = 1f;
 }
 // Token: 0x060019EE RID: 6638 RVA: 0x000E9945 File Offset: 0x000E7B45
 public void amVectorInvert(NNS_VECTOR4D pDst, NNS_VECTOR4D pSrc)
 {
     pDst.x = -pSrc.x;
     pDst.y = -pSrc.y;
     pDst.z = -pSrc.z;
     pDst.w = pSrc.w;
 }
Beispiel #27
0
    // Token: 0x06000F65 RID: 3941 RVA: 0x00088320 File Offset: 0x00086520
    public static void amQuatMultiVector(ref SNNS_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(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);
    }
 // Token: 0x06001A05 RID: 6661 RVA: 0x000E9FC0 File Offset: 0x000E81C0
 public void amVectorCeil(AMS_VECTOR4I pDst, NNS_VECTOR4D pSrc)
 {
     pDst.x = ( int )Math.Ceiling(( double )pSrc.x);
     pDst.y = ( int )Math.Ceiling(( double )pSrc.y);
     pDst.z = ( int )Math.Ceiling(( double )pSrc.z);
     pDst.w = ( int )Math.Ceiling(( double )pSrc.w);
 }
 // Token: 0x060019A8 RID: 6568 RVA: 0x000E86A3 File Offset: 0x000E68A3
 public static void amVectorInit(NNS_VECTOR4D pVec)
 {
     pVec.x = 0f;
     pVec.y = 0f;
     pVec.z = 0f;
     pVec.w = 1f;
 }
    // Token: 0x060019DC RID: 6620 RVA: 0x000E9380 File Offset: 0x000E7580
    public static float amVectorGetLength2(NNS_VECTOR4D pV1, NNS_VECTOR4D pV2)
    {
        float n_  = pV1.x - pV2.x;
        float n_2 = pV1.y - pV2.y;
        float n_3 = pV1.z - pV2.z;

        return(AppMain.amPow2(n_) + AppMain.amPow2(n_2) + AppMain.amPow2(n_3));
    }