/// <summary> /// Reads the data. /// </summary> /// <param name="binaryReader">Binary reader.</param> public void ReadData(BufferedBinaryReader binaryReader) { base.SetStartPoint(binaryReader); binaryReader.SynchBits(); bool hasScale = binaryReader.ReadBoolean(); if (hasScale) { uint nScaleBits = binaryReader.ReadUBits(5); matrix[0, 0] = binaryReader.ReadFloat(nScaleBits); matrix[1, 1] = binaryReader.ReadFloat(nScaleBits); } bool hasRotate = binaryReader.ReadBoolean(); if (hasRotate) { uint nRotateBits = binaryReader.ReadUBits(5); matrix[1, 0] = binaryReader.ReadFloat(nRotateBits); matrix[0, 1] = binaryReader.ReadFloat(nRotateBits); } uint nTranslateBits = binaryReader.ReadUBits(5); matrix[0, 2] = (float)binaryReader.ReadSBits(nTranslateBits); matrix[1, 2] = (float)binaryReader.ReadSBits(nTranslateBits); binaryReader.SynchBits(); base.SetEndPoint(binaryReader); }