#ifndef ROOT_TGLOrthoCamera
#define ROOT_TGLOrthoCamera
#ifndef ROOT_TGLCamera
#include "TGLCamera.h"
#endif
#ifndef ROOT_TArcBall
#include "TArcBall.h"
#endif
class TGLPaintDevice;
class TGLOrthoCamera : public TGLCamera {
public:
enum EType { kXOY, kXOZ, kZOY };
private:
EType fType;
Double_t fZoomMin;
Double_t fZoomDefault;
Double_t fZoomMax;
TGLBoundingBox fVolume;
Double_t fZoom;
TGLVector3 fTruck;
TGLMatrix fMatrix;
static UInt_t fgZoomDeltaSens;
Double_t fShift;
Double_t fOrthoBox[4];
TGLVertex3 fCenter;
TArcBall fArcBall;
TPoint fMousePos;
Bool_t fVpChanged;
void Init();
public:
TGLOrthoCamera();
TGLOrthoCamera(EType type);
virtual ~TGLOrthoCamera();
virtual void Setup(const TGLBoundingBox & box, Bool_t reset=kTRUE);
virtual void Reset();
virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2);
virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2);
virtual Bool_t Truck(Int_t x, Int_t y, Int_t xDelta, Int_t yDelta);
virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta);
virtual void Apply(const TGLBoundingBox & sceneBox, const TGLRect * pickRect = 0) const;
virtual void Markup (TGLCameraMarkupStyle* ms) const;
void Configure(Double_t left, Double_t right, Double_t top, Double_t bottom);
void SetViewport(TGLPaintDevice *dev);
void SetViewVolume(const TGLVertex3 *box);
void StartRotation(Int_t px, Int_t py);
void RotateCamera(Int_t px, Int_t py);
void StartPan(Int_t px, Int_t py);
void Pan(Int_t px, Int_t py);
void ZoomIn();
void ZoomOut();
void SetCamera()const;
void Apply()const;
Bool_t ViewportChanged()const{return fVpChanged;}
Int_t GetX()const;
Int_t GetY()const;
Int_t GetWidth()const;
Int_t GetHeight()const;
ClassDef(TGLOrthoCamera,0)
};
#endif // ROOT_TGLOrthoCamera
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.