All pastes #43482 Raw Edit

Miscellany

public text v1 · immutable
#43482 ·published 2006-02-28 01:02 UTC
rendered paste body
void 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
}