示例#1
0
        public virtual void Reset(Quaterniond [] values, double [] times)
        {
            if (values == null)
            {
                throw new ArgumentNullException(nameof(values));
            }
            if (times == null)
            {
                throw new ArgumentNullException(nameof(times));
            }
            int typeSize = Marshal.SizeOf(typeof(Quaterniond));

            unsafe {
                fixed(Quaterniond *valuesPtr = values)
                MDLMemoryHelper.Reset(typeSize, (IntPtr)valuesPtr, values.Length, times, _ResetWithDoubleQuaternionArray);
            }
        }
        public virtual void Reset(Vector3d [] values, double [] times)
        {
            if (values == null)
            {
                ObjCRuntime.ThrowHelper.ThrowArgumentNullException(nameof(values));
            }
            if (times == null)
            {
                ObjCRuntime.ThrowHelper.ThrowArgumentNullException(nameof(times));
            }
            int typeSize = Marshal.SizeOf(typeof(Vector3d));

            unsafe {
                fixed(Vector3d *valuesPtr = values)
                MDLMemoryHelper.Reset(typeSize, (IntPtr)valuesPtr, values.Length, times, _ResetWithDouble3Array);
            }
        }
示例#3
0
        public virtual void Reset(Quaternion [] values, double [] times)
        {
            if (values == null)
            {
                throw new ArgumentNullException(nameof(values));
            }
            if (times == null)
            {
                throw new ArgumentNullException(nameof(times));
            }
            if (values.Length != times.Length)
            {
                throw new ArgumentOutOfRangeException($"The '{nameof (values)}' and '{nameof (times)}' arrays must have the same length");
            }
            int typeSize = Marshal.SizeOf(typeof(Quaternion));

            unsafe {
                fixed(Quaternion *valuesPtr = values)
                MDLMemoryHelper.Reset(typeSize, (IntPtr)valuesPtr, times, _ResetWithFloatQuaternionArray);
            }
        }
示例#4
0
        public virtual void Reset(Matrix4d [] values, double [] times)
        {
            if (values == null)
            {
                throw new ArgumentNullException(nameof(values));
            }
            if (times == null)
            {
                throw new ArgumentNullException(nameof(times));
            }
            if (values.Length != times.Length)
            {
                throw new InvalidOperationException($"The length of the '{nameof (values)}' array and the '{nameof (times)}' array must match.");
            }
            int typeSize = Marshal.SizeOf(typeof(Matrix4d));

            unsafe {
                fixed(Matrix4d *valuesPtr = values)
                MDLMemoryHelper.Reset(typeSize, (IntPtr)valuesPtr, times, _ResetWithDouble4x4Array);
            }
        }
        public virtual void Reset(Vector3 [] values, double [] times)
        {
            if (values == null)
            {
                ObjCRuntime.ThrowHelper.ThrowArgumentNullException(nameof(values));
            }
            if (times == null)
            {
                ObjCRuntime.ThrowHelper.ThrowArgumentNullException(nameof(times));
            }
            if (values.Length != times.Length)
            {
                throw new InvalidOperationException($"The length of the '{nameof (values)}' array and the '{nameof (times)}' array must match.");
            }
            int typeSize = Marshal.SizeOf(typeof(Vector3));

            unsafe {
                fixed(Vector3 *valuesPtr = values)
                MDLMemoryHelper.Reset(typeSize, (IntPtr)valuesPtr, times, _ResetWithFloat3Array);
            }
        }