コード例 #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);
            }
        }
コード例 #2
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);
            }
        }