예제 #1
0
        /// <summary>
        /// Función para iniciar un barrido de mediciones.
        /// </summary>
        /// <param name="laser_buffer">Objeto de lectura de datos</param>
        public void begin_capturing(LMSAPI_DATA laser_buffer)
        {
            // create buffer
            m_vertex_count = m_vertical_sampler_count * laser_buffer.get_distance_count();

            m_laser_distances = new float[m_vertex_count];
            m_buffer_index = 0;

            capture_data(laser_buffer);
        }
예제 #2
0
        /// <summary>
        /// Llamese despues de llamar begin_capturing()
        /// </summary>
        /// <param name="laser_buffer">Objeto de lectura de datos</param>
        /// <returns>false si se ha completado el número de capturas</returns>
        public bool capture_data(LMSAPI_DATA laser_buffer)
        {
            m_current_laser_buffer = laser_buffer;
            if (m_buffer_index >= m_vertical_sampler_count) return false; //end of measurement

            uint sample_count = m_current_laser_buffer.get_distance_count();
            for (int i = 0; i < sample_count; i++)
            {
                m_laser_distances[m_buffer_index * sample_count+i] = m_current_laser_buffer.get_distance(i);

            }
            m_buffer_index++;
            return true;
        }