예제 #1
0
// render the globe
void miniglobe::render()
   {
   if (DONE==0)
      {
      switch (SHAPE)
         {
         case SHAPE_SUN: create_sun(); break;
         case SHAPE_MERCURY: create_orb(minicoord::MINICOORD_ORB_MERCURY); break;
         case SHAPE_VENUS: create_orb(minicoord::MINICOORD_ORB_VENUS); break;
         case SHAPE_EARTH: create_earth(); break;
         case SHAPE_MARS: create_orb(minicoord::MINICOORD_ORB_MARS); break;
         case SHAPE_JUPITER: create_orb(minicoord::MINICOORD_ORB_JUPITER); break;
         case SHAPE_SATURN: create_orb(minicoord::MINICOORD_ORB_SATURN); break;
         case SHAPE_URANUS: create_orb(minicoord::MINICOORD_ORB_URANUS); break;
         case SHAPE_NEPTUNE: create_orb(minicoord::MINICOORD_ORB_NEPTUNE); break;
         case SHAPE_CERES: create_orb(minicoord::MINICOORD_ORB_CERES); break;
         case SHAPE_PLUTO: create_orb(minicoord::MINICOORD_ORB_PLUTO); break;
         case SHAPE_ERIS: create_orb(minicoord::MINICOORD_ORB_ERIS); break;
         case SHAPE_MOON: create_moon(); break;
         default: ERRORMSG();
         }

      create_shader(CONFIGURE_FRONTNAME,CONFIGURE_BACKNAME,
                    CONFIGURE_FRONTBUF,CONFIGURE_BACKBUF);

      DONE=1;
      }

   initstate();
   STRIP->render();
   exitstate();
   }
예제 #2
0
// render ecef geometry
void miniview::render_ecef_geometry(double)
   {
   // render plain globe for z-values:

   static miniglobe globe;

   static const int gltess = 32;
   static const double glscale = 0.999;
   static const double glzscale = 1.05;

   globe.settess(gltess);
   globe.setscale(1.0);
   globe.setdynscale(glscale);
   globe.setZscale(glzscale);

   disableRGBAwriting();
   globe.render();
   enableRGBAwriting();

   initstate();

   // render ecef z-axis:

   linewidth(2);
   enablelinesmooth();

   static const miniv3d zacolor(0.25, 0.25, 0.5);

   color(zacolor);
   renderline(miniv3d(0.0, 0.0, -1.1*getorbradius()),
              miniv3d(0.0, 0.0, -getorbradius()));
   renderline(miniv3d(0.0, 0.0, getorbradius()),
              miniv3d(0.0, 0.0, 1.1*getorbradius()));

   // render equator:

   linewidth(1);
   disableZwriting();

   static const int eqlines = 100;
   static const miniv3d eqcolor(0.25, 0.25, 0.25);

   color(eqcolor);
   for (int i=0; i<=eqlines; i++)
      {
      minicoord c(miniv3d((double)i/eqlines*360*3600, 0.0, 0.0),minicoord::MINICOORD_LLH);
      c.convert2(minicoord::MINICOORD_ECEF);

      static minicoord c0;

      if (i>0) renderline(c0.vec, c.vec);
      c0 = c;
      }

   enableZwriting();
   disablelinesmooth();

   exitstate();
   }
void WizardPage_Finish::setPostState(bool state, QString errStr)
{
    m_poststate = state;
    if ( !state ) {
        QMessageBox::critical(this, tr("PostInstall Error"), errStr);
    }
    emit exitstate(state);
}
예제 #4
0
// signpost exit method
void minipointrndr_signpost::exit()
   {
   disableblending();
   enableBFculling();
   exitstate();
   }