12 #ifndef ROOT_TGLOrthoCamera
13 #define ROOT_TGLOrthoCamera
35 class TGLOrthoCamera :
public TGLCamera
38 enum EType { kZOY, kXOZ, kXOY,
39 kZnOY, kXnOZ, kXnOY, kZOX, kZnOX};
48 Double_t fZoomDefault;
50 TGLBoundingBox fVolume;
53 Double_t fDefXSize, fDefYSize;
56 static UInt_t fgZoomDeltaSens;
60 TGLOrthoCamera(EType type,
const TGLVector3 & hAxis,
const TGLVector3 & vAxis);
61 virtual ~TGLOrthoCamera();
63 virtual Bool_t IsOrthographic()
const {
return kTRUE; }
65 virtual void Setup(
const TGLBoundingBox & box, Bool_t reset=kTRUE);
68 virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2);
69 virtual Bool_t Zoom (Int_t delta, Bool_t mod1, Bool_t mod2);
70 using TGLCamera::Truck;
71 virtual Bool_t Truck(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2);
72 virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2);
73 virtual void Apply(
const TGLBoundingBox & sceneBox,
const TGLRect * pickRect = 0)
const;
77 virtual void Configure(Double_t zoom, Double_t dolly, Double_t center[3],
78 Double_t hRotate, Double_t vRotate);
80 void SetEnableRotate(Bool_t x) { fEnableRotate = x; }
81 Bool_t GetEnableRotate()
const {
return fEnableRotate; }
83 Double_t GetZoomMin()
const {
return fZoomMin; }
84 Double_t GetZoomMax()
const {
return fZoomMax; }
85 void SetZoomMin(Double_t z);
86 void SetZoomMax(Double_t z);
87 void SetZoomMinMax(Double_t min, Double_t max) { SetZoomMin(min); SetZoomMax(max); }
89 void SetDollyToZoom(Bool_t x) { fDollyToZoom = x; }
90 Bool_t GetDollyToZoom()
const {
return fDollyToZoom; }
92 void SetZoom(Double_t x) { fZoom = x; }
93 Double_t GetZoom()
const {
return fZoom; }
95 ClassDef(TGLOrthoCamera,1)
98 #endif // ROOT_TGLOrthoCamera