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