/// <summary>
 /// Read a series of quaternions.
 /// </summary>
 /// <param name="count">The number of quaternions to read.</param>
 /// <returns>The quaternion array.</returns>
 public Quat16[] ReadQuat16s(int count)
 {
     Quat16[] ret = new Quat16[count];
     for (int i = 0; i < ret.Length; i++)
         ReadQuat16(ref ret[i]);
     return ret;
 }
 static void _readAndExtendArray(BinaryReader bin, ref Quat16[] array, int addNum)
 {
     int startSize = array.Length;
     TorqueUtil.ResizeArray(ref array, startSize + addNum);
     for (int i = startSize; i < startSize + addNum; i++)
     {
         array[i].X = bin.ReadInt16();
         array[i].Y = bin.ReadInt16();
         array[i].Z = bin.ReadInt16();
         array[i].W = bin.ReadInt16();
     }
 }
 /// <summary>
 /// Read four shorts as a quaternion.
 /// </summary>
 /// <param name="q">The quaternion to receive the data.</param>
 public void ReadQuat16(ref Quat16 q)
 {
     q.X = ReadS16();
     q.Y = ReadS16();
     q.Z = ReadS16();
     q.W = ReadS16();
 }