#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.