public LASreadItemCompressed_GPSTIME11_v2(ArithmeticDecoder dec)
		{
			// set decoder
			Debug.Assert(dec!=null);
			this.dec=dec;

			// create entropy models and integer compressors
			m_gpstime_multi=dec.createSymbolModel(LASZIP_GPSTIME_MULTI_TOTAL);
			m_gpstime_0diff=dec.createSymbolModel(6);
			ic_gpstime=new IntegerCompressor(dec, 32, 9); // 32 bits, 9 contexts
		}
Ejemplo n.º 2
0
        public LASreadItemCompressed_WAVEPACKET13_v1(ArithmeticDecoder dec)
        {
            // set decoder
            Debug.Assert(dec != null);
            this.dec = dec;

            // create models and integer compressors
            m_packet_index   = dec.createSymbolModel(256);
            m_offset_diff[0] = dec.createSymbolModel(4);
            m_offset_diff[1] = dec.createSymbolModel(4);
            m_offset_diff[2] = dec.createSymbolModel(4);
            m_offset_diff[3] = dec.createSymbolModel(4);
            ic_offset_diff   = new IntegerCompressor(dec, 32);
            ic_packet_size   = new IntegerCompressor(dec, 32);
            ic_return_point  = new IntegerCompressor(dec, 32);
            ic_xyz           = new IntegerCompressor(dec, 32, 3);
        }
		public LASreadItemCompressed_WAVEPACKET13_v1(ArithmeticDecoder dec)
		{
			// set decoder
			Debug.Assert(dec!=null);
			this.dec=dec;

			// create models and integer compressors
			m_packet_index=dec.createSymbolModel(256);
			m_offset_diff[0]=dec.createSymbolModel(4);
			m_offset_diff[1]=dec.createSymbolModel(4);
			m_offset_diff[2]=dec.createSymbolModel(4);
			m_offset_diff[3]=dec.createSymbolModel(4);
			ic_offset_diff=new IntegerCompressor(dec, 32);
			ic_packet_size=new IntegerCompressor(dec, 32);
			ic_return_point=new IntegerCompressor(dec, 32);
			ic_xyz=new IntegerCompressor(dec, 32, 3);
		}
        public LASreadItemCompressed_RGB12_v1(ArithmeticDecoder dec)
        {
            // set decoder
            Debug.Assert(dec != null);
            this.dec = dec;

            // create models and integer compressors
            m_byte_used = dec.createSymbolModel(64);
            ic_rgb      = new IntegerCompressor(dec, 8, 6);
        }
        public LASreadItemCompressed_POINT10_v2(ArithmeticDecoder dec)
        {
            // set decoder
            Debug.Assert(dec != null);
            this.dec = dec;

            // create models and integer compressors
            ic_dx                = new IntegerCompressor(dec, 32, 2);  // 32 bits, 2 context
            ic_dy                = new IntegerCompressor(dec, 32, 22); // 32 bits, 22 contexts
            ic_z                 = new IntegerCompressor(dec, 32, 20); // 32 bits, 20 contexts
            ic_intensity         = new IntegerCompressor(dec, 16, 4);
            m_scan_angle_rank[0] = dec.createSymbolModel(256);
            m_scan_angle_rank[1] = dec.createSymbolModel(256);
            ic_point_source_ID   = new IntegerCompressor(dec, 16);
            m_changed_values     = dec.createSymbolModel(64);
            for (int i = 0; i < 256; i++)
            {
                m_bit_byte[i]       = null;
                m_classification[i] = null;
                m_user_data[i]      = null;
            }
        }
		public LASreadItemCompressed_POINT10_v2(ArithmeticDecoder dec)
		{
			// set decoder
			Debug.Assert(dec!=null);
			this.dec=dec;

			// create models and integer compressors
			ic_dx=new IntegerCompressor(dec, 32, 2); // 32 bits, 2 context
			ic_dy=new IntegerCompressor(dec, 32, 22); // 32 bits, 22 contexts
			ic_z=new IntegerCompressor(dec, 32, 20); // 32 bits, 20 contexts
			ic_intensity=new IntegerCompressor(dec, 16, 4);
			m_scan_angle_rank[0]=dec.createSymbolModel(256);
			m_scan_angle_rank[1]=dec.createSymbolModel(256);
			ic_point_source_ID=new IntegerCompressor(dec, 16);
			m_changed_values=dec.createSymbolModel(64);
			for(int i=0; i<256; i++)
			{
				m_bit_byte[i]=null;
				m_classification[i]=null;
				m_user_data[i]=null;
			}
		}
        public LASreadItemCompressed_RGB12_v2(ArithmeticDecoder dec)
        {
            // set decoder
            Debug.Assert(dec != null);
            this.dec = dec;

            // create models and integer compressors
            m_byte_used  = dec.createSymbolModel(128);
            m_rgb_diff_0 = dec.createSymbolModel(256);
            m_rgb_diff_1 = dec.createSymbolModel(256);
            m_rgb_diff_2 = dec.createSymbolModel(256);
            m_rgb_diff_3 = dec.createSymbolModel(256);
            m_rgb_diff_4 = dec.createSymbolModel(256);
            m_rgb_diff_5 = dec.createSymbolModel(256);
        }
		public LASreadItemCompressed_RGB12_v2(ArithmeticDecoder dec)
		{
			// set decoder
			Debug.Assert(dec!=null);
			this.dec=dec;

			// create models and integer compressors
			m_byte_used=dec.createSymbolModel(128);
			m_rgb_diff_0=dec.createSymbolModel(256);
			m_rgb_diff_1=dec.createSymbolModel(256);
			m_rgb_diff_2=dec.createSymbolModel(256);
			m_rgb_diff_3=dec.createSymbolModel(256);
			m_rgb_diff_4=dec.createSymbolModel(256);
			m_rgb_diff_5=dec.createSymbolModel(256);
		}
		public LASreadItemCompressed_BYTE_v2(ArithmeticDecoder dec, uint number)
		{
			// set decoder
			Debug.Assert(dec!=null);
			this.dec=dec;
			Debug.Assert(number>0);
			this.number=number;

			// create models and integer compressors
			m_byte=new ArithmeticModel[number];
			for(uint i=0; i<number; i++)
			{
				m_byte[i]=dec.createSymbolModel(256);
			}

			// create last item
			last_item=new byte[number];
		}
        public LASreadItemCompressed_BYTE_v2(ArithmeticDecoder dec, uint number)
        {
            // set decoder
            Debug.Assert(dec != null);
            this.dec = dec;
            Debug.Assert(number > 0);
            this.number = number;

            // create models and integer compressors
            m_byte = new ArithmeticModel[number];
            for (uint i = 0; i < number; i++)
            {
                m_byte[i] = dec.createSymbolModel(256);
            }

            // create last item
            last_item = new byte[number];
        }