12#include "TGLIncludes.h"
101 glGetDoublev(GL_MODELVIEW_MATRIX, mv);
103 glGetDoublev(GL_PROJECTION_MATRIX, pr);
107 gluUnProject(
fMousePos.fX,
fMousePos.fY, 1., mv, pr, vp, &start.X(), &start.Y(), &start.Z());
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);
143 glMultMatrixd(
fArcBall.GetRotMatrix());
144 glRotated(theta - 90., 1., 0., 0.);
145 glRotated(phi, 0., 0., 1.);
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.