12#include "TGLIncludes.h" 
   26   fZoom(1.), fShift(1.5), fCenter(),
 
  101   glGetDoublev(GL_MODELVIEW_MATRIX, mv);
 
  103   glGetDoublev(GL_PROJECTION_MATRIX, pr);
 
  108   gluUnProject(px, py, 1., mv, pr, vp, &end.X(), &end.Y(), &end.Z());
 
  109   fTruck += (start - end) /= 2.;
 
  122   glMatrixMode(GL_PROJECTION);
 
  133   glMatrixMode(GL_MODELVIEW);
 
  142   glTranslated(0., 0., -
fShift);
 
  144   glRotated(theta - 90., 1., 0., 0.);
 
  145   glRotated(phi, 0., 0., 1.);
 
void Drag(const TPoint &NewPt)
Mouse drag, calculate rotation.
void SetBounds(UInt_t NewWidth, UInt_t NewHeight)
void Click(const TPoint &NewPt)
Mouse down.
const Double_t * GetRotMatrix() const
Camera for TGLPlotPainter and sub-classes.
Int_t GetY() const
viewport[1]
TGLPlotCamera()
Construct camera for plot painters.
void StartPan(Int_t px, Int_t py)
User clicks somewhere (px, py).
void Apply(Double_t phi, Double_t theta) const
Applies rotations and translations before drawing.
void SetViewport(const TGLRect &vp)
Setup viewport, if it was changed, plus reset arcball.
Int_t GetX() const
viewport[0]
void RotateCamera(Int_t px, Int_t py)
Mouse movement.
void SetCamera() const
Viewport and projection.
Int_t GetWidth() const
viewport[2]
void Pan(Int_t px, Int_t py)
Pan camera.
Int_t GetHeight() const
viewport[3]
void StartRotation(Int_t px, Int_t py)
User clicks somewhere (px, py).
void SetViewVolume(const TGLVertex3 *box)
'box' is the TGLPlotPainter's back box's coordinates.
Viewport (pixel base) 2D rectangle class.
3 component (x/y/z) vertex class.