Exemple #1
0
        /// <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);
        }