#include <TGLPerspectiveCamera.h>
Inheritance diagram for TGLPerspectiveCamera:
Public Member Functions | |
TGLPerspectiveCamera (const TGLVector3 &hAxis, const TGLVector3 &vAxis) | |
virtual | ~TGLPerspectiveCamera () |
virtual Bool_t | IsPerspective () const |
Double_t | GetFOV () const |
virtual void | Setup (const TGLBoundingBox &box, Bool_t reset=kTRUE) |
virtual void | Reset () |
virtual Bool_t | Zoom (Int_t delta, Bool_t mod1, Bool_t mod2) |
virtual Bool_t | Truck (Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2) |
virtual void | Apply (const TGLBoundingBox &box, const TGLRect *pickRect=0) const |
virtual void | Configure (Double_t fov, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate) |
TGLPerspectiveCamera (const TGLVector3 &hAxis, const TGLVector3 &vAxis) | |
virtual | ~TGLPerspectiveCamera () |
virtual Bool_t | IsPerspective () const |
Double_t | GetFOV () const |
virtual void | Setup (const TGLBoundingBox &box, Bool_t reset=kTRUE) |
virtual void | Reset () |
virtual Bool_t | Zoom (Int_t delta, Bool_t mod1, Bool_t mod2) |
virtual Bool_t | Truck (Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2) |
virtual void | Apply (const TGLBoundingBox &box, const TGLRect *pickRect=0) const |
virtual void | Configure (Double_t fov, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate) |
Private Attributes | |
Double_t | fFOV |
Static Private Attributes | |
static Double_t | fgFOVMin |
static Double_t | fgFOVDefault |
static Double_t | fgFOVMax |
static UInt_t | fgFOVDeltaSens |
Definition at line 30 of file TGLPerspectiveCamera.h.
TGLPerspectiveCamera::TGLPerspectiveCamera | ( | const TGLVector3 & | hAxis, | |
const TGLVector3 & | vAxis | |||
) |
TGLPerspectiveCamera::~TGLPerspectiveCamera | ( | ) | [virtual] |
Definition at line 50 of file TGLPerspectiveCamera.cxx.
TGLPerspectiveCamera::TGLPerspectiveCamera | ( | const TGLVector3 & | hAxis, | |
const TGLVector3 & | vAxis | |||
) |
virtual TGLPerspectiveCamera::~TGLPerspectiveCamera | ( | ) | [virtual] |
virtual Bool_t TGLPerspectiveCamera::IsPerspective | ( | ) | const [inline, virtual] |
Reimplemented from TGLCamera.
Definition at line 43 of file TGLPerspectiveCamera.h.
References kTRUE.
Double_t TGLPerspectiveCamera::GetFOV | ( | ) | const [inline] |
void TGLPerspectiveCamera::Setup | ( | const TGLBoundingBox & | box, | |
Bool_t | reset = kTRUE | |||
) | [virtual] |
Implements TGLCamera.
Definition at line 56 of file TGLPerspectiveCamera.cxx.
References TGLRect::Aspect(), box(), TGLCamera::fDollyDefault, TGLCamera::fDollyDistance, TGLCamera::fExternalCenter, TGLCamera::fFDCenter, TGLCamera::fFixDefCenter, fgFOVDefault, TGLCamera::fViewport, TMath::Hypot(), kFALSE, TMath::Min(), TMath::Pi(), Reset(), TGLCamera::SetCenterVec(), size, TMath::Sort(), TMath::Tan(), TGLVertex3::X(), TGLVertex3::Y(), and TGLVertex3::Z().
Referenced by TEveLegoEventHandler::Rotate(), and TGLViewer::SetupCameras().
void TGLPerspectiveCamera::Reset | ( | ) | [virtual] |
Implements TGLCamera.
Definition at line 91 of file TGLPerspectiveCamera.cxx.
References TGLCamera::fCamTrans, TGLCamera::fDollyDefault, fFOV, fgFOVDefault, TGLCamera::IncTimeStamp(), TGLMatrix::MoveLF(), and TGLMatrix::SetIdentity().
Referenced by Setup().
Implements TGLCamera.
Definition at line 105 of file TGLPerspectiveCamera.cxx.
References TGLCamera::AdjustAndClampVal(), fFOV, fgFOVDeltaSens, fgFOVMax, fgFOVMin, TGLCamera::IncTimeStamp(), kFALSE, and kTRUE.
Bool_t TGLPerspectiveCamera::Truck | ( | Int_t | xDelta, | |
Int_t | yDelta, | |||
Bool_t | mod1, | |||
Bool_t | mod2 | |||
) | [virtual] |
Implements TGLCamera.
Definition at line 126 of file TGLPerspectiveCamera.cxx.
References TGLCamera::AdjustDelta(), TMath::DegToRad(), TGLCamera::fFarClip, fFOV, TGLCamera::fNearClip, TGLCamera::fViewport, TGLRect::Height(), and TMath::Tan().
void TGLPerspectiveCamera::Apply | ( | const TGLBoundingBox & | box, | |
const TGLRect * | pickRect = 0 | |||
) | const [virtual] |
Implements TGLCamera.
Definition at line 143 of file TGLPerspectiveCamera.cxx.
References TGLMatrix::Arr(), TGLRect::Aspect(), TGLRect::CArr(), TGLPlane::DistanceTo(), TGLCamera::EyeDirection(), TGLCamera::EyePoint(), TGLCamera::fCacheDirty, TGLCamera::fCamBase, TGLCamera::fCamTrans, TGLCamera::fFarClip, fFOV, TGLCamera::fLastNoPickProjM, TGLCamera::fNearClip, TGLCamera::fViewport, TGLMatrix::GetBaseVec(), TGLMatrix::GetTranslation(), GL_MODELVIEW, GL_PROJECTION, GL_PROJECTION_MATRIX, glGetDoublev(), glLoadIdentity(), glMatrixMode(), glViewport(), TGLRect::Height(), i, kFALSE, kTRUE, TGLCamera::UpdateCache(), TGLRect::Width(), TGLCamera::WindowToViewport(), TGLRect::X(), and TGLRect::Y().
void TGLPerspectiveCamera::Configure | ( | Double_t | fov, | |
Double_t | dolly, | |||
Double_t | center[3], | |||
Double_t | hRotate, | |||
Double_t | vRotate | |||
) | [virtual] |
Implements TGLCamera.
Definition at line 260 of file TGLPerspectiveCamera.cxx.
References TGLCamera::fCamTrans, fFOV, TGLCamera::IncTimeStamp(), TGLMatrix::MoveLF(), TGLCamera::RotateRad(), and TGLCamera::SetCenterVec().
Referenced by TEveLegoEventHandler::Rotate(), and TGLViewer::SetPerspectiveCamera().
virtual Bool_t TGLPerspectiveCamera::IsPerspective | ( | ) | const [inline, virtual] |
Reimplemented from TGLCamera.
Definition at line 43 of file TGLPerspectiveCamera.h.
References kTRUE.
Double_t TGLPerspectiveCamera::GetFOV | ( | ) | const [inline] |
virtual void TGLPerspectiveCamera::Setup | ( | const TGLBoundingBox & | box, | |
Bool_t | reset = kTRUE | |||
) | [virtual] |
Implements TGLCamera.
virtual void TGLPerspectiveCamera::Reset | ( | ) | [virtual] |
Implements TGLCamera.
Implements TGLCamera.
virtual Bool_t TGLPerspectiveCamera::Truck | ( | Int_t | xDelta, | |
Int_t | yDelta, | |||
Bool_t | mod1, | |||
Bool_t | mod2 | |||
) | [virtual] |
Implements TGLCamera.
virtual void TGLPerspectiveCamera::Apply | ( | const TGLBoundingBox & | box, | |
const TGLRect * | pickRect = 0 | |||
) | const [virtual] |
Implements TGLCamera.
virtual void TGLPerspectiveCamera::Configure | ( | Double_t | fov, | |
Double_t | dolly, | |||
Double_t | center[3], | |||
Double_t | hRotate, | |||
Double_t | vRotate | |||
) | [virtual] |
Implements TGLCamera.
Double_t TGLPerspectiveCamera::fFOV [private] |
Definition at line 34 of file TGLPerspectiveCamera.h.
Referenced by Apply(), Configure(), GetFOV(), Reset(), Truck(), and Zoom().
static Double_t TGLPerspectiveCamera::fgFOVMin [static, private] |
static Double_t TGLPerspectiveCamera::fgFOVDefault [static, private] |
static Double_t TGLPerspectiveCamera::fgFOVMax [static, private] |
static UInt_t TGLPerspectiveCamera::fgFOVDeltaSens [static, private] |