// @(#)root/gl:$Name: $:$Id: TGLPerspectiveCamera.h,v 1.5 2005/06/21 16:54:17 brun Exp $
// Author: Richard Maunder 25/05/2005
// Parts taken from original by Timur Pocheptsov
/*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLPerspectiveCamera
#define ROOT_TGLPerspectiveCamera
#ifndef ROOT_TGLCamera
#include "TGLCamera.h"
#endif
/*************************************************************************
* TGLPerspectiveCamera - TODO
*
*
*
*************************************************************************/
class TGLPerspectiveCamera : public TGLCamera {
private:
// Fields
// Set in Setup()
Double_t fDollyMin; //!
Double_t fDollyDefault; //!
Double_t fDollyMax; //!
Double_t fFOV; //!
Double_t fDolly; //!
Double_t fVRotate; //!
Double_t fHRotate; //!
TGLVertex3 fCenter; //!
TGLVector3 fTruck; //!
// These are fixed for any perspective camera
static Double_t fgFOVMin, fgFOVDefault, fgFOVMax;
static UInt_t fgDollyDeltaSens, fgFOVDeltaSens;
public:
TGLPerspectiveCamera();
virtual ~TGLPerspectiveCamera();
virtual void Setup(const TGLBoundingBox & box);
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 & box, const TGLRect * pickRect = 0);
ClassDef(TGLPerspectiveCamera,0) // a perspective view camera
};
#endif // ROOT_TGLPerspectiveCamera
syntax highlighted by Code2HTML, v. 0.9.1