Example #1
0
        public static IAffineTransformMatrix <T> NewRotation(VectorDimension dimension, double r)
        {
            IAffineTransformMatrix <T> a = MatrixFactory <T> .NewIdentity(dimension);

            a.RotateAlong(MatrixFactory <T> .CreateZeroVector(dimension), r);
            return(a);
        }
Example #2
0
        public static IAffineTransformMatrix <T> NewScaling(VectorDimension dimension, T s)
        {
            IAffineTransformMatrix <T> a = MatrixFactory <T> .NewIdentity(dimension);

            a.Scale(s);
            return(a);
        }
Example #3
0
 public static IAffineTransformMatrix <T> NewIdentity(VectorDimension dimension)
 {
     return(new AffineMatrix <T>(
                MatrixFormat.ColumnMajor,
                dimension == VectorDimension.Two ? 3 : 4));
     //3);
 }
Example #4
0
        public static void Set(ref Vector2 storeVector, ref Vector2 referenceVector, VectorDimension dimension)
        {
            switch (dimension)
            {
            case VectorDimension.X:
                storeVector.x = referenceVector.x;
                break;

            case VectorDimension.Y:
                storeVector.y = referenceVector.y;
                break;
            }
        }
Example #5
0
        public static void Set(ref Vector4 storeVector, ref Vector4 referenceVector, VectorDimension dimension)
        {
            switch (dimension)
            {
            case VectorDimension.X:
                storeVector.x = referenceVector.x;
                break;

            case VectorDimension.Y:
                storeVector.y = referenceVector.y;
                break;

            case VectorDimension.Z:
                storeVector.z = referenceVector.z;
                break;

            case VectorDimension.W:
                storeVector.w = referenceVector.w;
                break;
            }
        }
Example #6
0
 public static IVector <T> CreateZeroVector(VectorDimension dimension)
 {
     return(new Vector <T>((int)dimension));
 }