コード例 #1
0
ファイル: ElementCrusher.cs プロジェクト: valourus/GT-O
        /// <summary>
        /// Decode (decompresss) and restore an element that was compressed by this crusher.
        /// </summary>
        public Element Decompress(CompressedElement compressed)
        {
            if (!cached)
            {
                CacheValues();
            }

            if (_trsType == TRSType.Scale && uniformAxes != UniformAxes.NonUniform)
            {
                float val = ucrusher.Decompress((uint)compressed.cx);
                return(new Vector3(val, val, val));
            }
            else if (_trsType == TRSType.Quaternion)
            {
                //Debug.Log("We should not see this! Quats should be getting called to DecompressToQuat");
                return(qcrusher.Decompress(compressed.cQuat));
            }
            else
            {
                // Issue log error for trying to write more than 64 bits to the ulong buffer
                FloatCrusherUtilities.CheckBitCount(cache_TotalBits[0], 64);

                return(new Vector3(
                           cache_xEnabled ? (xcrusher.Decompress((uint)compressed.cx)) : 0,
                           cache_yEnabled ? (ycrusher.Decompress((uint)compressed.cy)) : 0,
                           cache_zEnabled ? (zcrusher.Decompress((uint)compressed.cz)) : 0
                           ));
            }
        }
コード例 #2
0
        //public static implicit operator PackedValue(CompressedValue cv) { return new PackedValue(cv.cvalue, cv.bits); }
        //[System.Obsolete("PackedValue is slated to be removed.")]
        //public static implicit operator PackedValue(CompressedQuat cv) { return new PackedValue(cv.cvalue, cv.crusher.Bits); }

        public Quaternion Decompress()
        {
            return(crusher.Decompress(cvalue));
        }