rendered paste bodyvoid CSeebreezeView::drawSensorSurface(void)
{
#define MAX_SURFACE_X 3.25
#define MAX_SURFACE_Y 11.75
bool first_row = 1, last_row = 0;
for (vector<Sensor>::iterator cur_row = g_sensor_data.begin();
cur_row != g_sensor_data.end(); cur_row += 10)
{
if (cur_row + 10 == g_sensor_data.end())
break;
else if (cur_row + 20 == g_sensor_data.end())
last_row = 1;
for (int i = 0; i < 9; i++)
{
glBegin(GL_QUADS);
setSensorColor((cur_row + i));
glVertex3d(i > 0 ? (cur_row + i)->m_x : 0, first_row ? 0 : (cur_row + i)->m_y, 0);
setSensorColor(cur_row + i + 1);
glVertex3d(i < 8 ? (cur_row + i + 1)->m_x : MAX_SURFACE_X, first_row ? 0 : (cur_row + i + 1)->m_y, 0);
setSensorColor(cur_row + i + 11);
glVertex3d(i < 8 ? (cur_row + i + 11)->m_x : MAX_SURFACE_X, last_row ? MAX_SURFACE_Y : (cur_row + i + 11)->m_y, 0);
setSensorColor(cur_row + i + 10);
glVertex3d(i > 0 ? (cur_row + i + 10)->m_x : 0, last_row ? MAX_SURFACE_Y : (cur_row + i + 10)->m_y, 0);
glEnd();
}
first_row = 0;
}
#undef MAX_SURFACE_X
#undef MAX_SURFACE_Y
}