/// <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);
}