27   static Double_t center[3] = {-164.0, -164.0, -180.0};
 
   31   static Double_t fovStep = randGen.Rndm()*3.0 - 0.5;
 
   32   static Double_t zoomStep = (20 - randGen.Rndm())/1000.;
 
   33   static Double_t dollyStep = randGen.Rndm()*5.0 - 1.0;
 
   34   static Double_t centerStep[3] = {randGen.Rndm()*4, randGen.Rndm()*4,
 
   36   static Double_t hRotateStep = randGen.Rndm()*0.025;
 
   37   static Double_t vRotateStep = randGen.Rndm()*0.05;
 
   40   center[0] += centerStep[0];
 
   41   center[1] += centerStep[1];
 
   42   center[2] += centerStep[2];
 
   47      centerStep[0] = -centerStep[0];
 
   48      centerStep[1] = -centerStep[1];
 
   49      centerStep[2] = -centerStep[2];
 
   53   hRotate += hRotateStep;
 
   54   vRotate += vRotateStep;
 
   56      vRotateStep = -vRotateStep;
 
   60      hRotateStep = -hRotateStep;
 
   65   if (dolly >= 2000.0 || dolly <= 1500.0)
 
   66      dollyStep = -dollyStep;
 
   73      if (fov > 130.0 || fov < 5.0)
 
   74         fovStep = - fovStep; }
 
   78      if (zoom > 4.0 || zoom < 0.25)
 
   79         zoomStep = - zoomStep;
 
   84      v->SetPerspectiveCamera(camera, fov, dollyStep, center, hRotateStep,
 
   87      v->SetOrthoCamera(camera, zoom, dollyStep, center, hRotateStep,
 
   90   if (++moveCount % 10 == 0)
 
   91      v->RefreshPadEditor(
v);
 
   94void glViewerExercise()
 
   96   gROOT->ProcessLine(
".x nucleus.C");
 
  110   if (randGen.Integer(2) == 0)
 
  112   if (randGen.Integer(2) == 0)
 
  114   if (randGen.Integer(2) == 0)
 
  116   if (randGen.Integer(2) == 0)
 
  120   Int_t id = randGen.Integer(6);
 
  122   v->SetCurrentCamera(camera);
 
  123   v->CurrentCamera().SetExternalCenter(
kTRUE);
 
  133     sav->
GetFrame()->
Connect(
"CloseWindow()", 
"TTimer", &timer, 
"TurnOff()");
 
  134   timer.SetCommand(
"AnimateCamera()");
 
Encapsulates a set of lights for OpenGL.
void SetLight(ELight light, Bool_t on)
Set a light on/off.
Orthographic projection camera.
void SetEnableRotate(Bool_t x)
The top level standalone GL-viewer - created via plugin manager.
TGCompositeFrame * GetFrame() const
Return the main-frame.
Base GL viewer object - used by both standalone and embedded (in pad) GL.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
This is the base class for the ROOT Random number generators.
Handles synchronous and a-synchronous timer events.
constexpr Double_t PiOver2()
Double_t Sqrt(Double_t x)
constexpr Double_t TwoPi()