TGLCamera Class Reference

#include <TGLCamera.h>

Inheritance diagram for TGLCamera:

TGLOrthoCamera TGLOrthoCamera TGLPerspectiveCamera TGLPerspectiveCamera List of all members.

Public Types

enum  EFrustumPlane
enum  EFrustumPlane

Public Member Functions

 TGLCamera ()
 TGLCamera (const TGLVector3 &hAxis, const TGLVector3 &vAxis)
virtual ~TGLCamera ()
virtual Bool_t IsOrthographic () const
virtual Bool_t IsPerspective () const
const TGLMatrixRefModelViewMatrix () const
Bool_t IsCacheDirty () const
void IncTimeStamp ()
UInt_t TimeStamp () const
void SetViewport (const TGLRect &viewport)
TGLRectRefViewport ()
const TGLRectRefViewport () const
virtual void Setup (const TGLBoundingBox &box, Bool_t reset=kTRUE)=0
virtual void Reset ()=0
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)=0
virtual Bool_t Truck (Double_t xDelta, Double_t yDelta)
virtual Bool_t Truck (Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2)=0
virtual Bool_t Rotate (Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2)
virtual Bool_t RotateRad (Double_t hRotate, Double_t vRotate)
virtual void Apply (const TGLBoundingBox &sceneBox, const TGLRect *pickRect=0) const =0
Bool_t AdjustAndClampVal (Double_t &val, Double_t min, Double_t max, Int_t screenShift, Int_t screenShiftRange, Bool_t mod1, Bool_t mod2) const
Double_t AdjustDelta (Double_t screenShift, Double_t deltaFactor, Bool_t mod1, Bool_t mod2) const
void SetExternalCenter (Bool_t x)
Bool_t GetExternalCenter ()
void SetCenterVec (Double_t x, Double_t y, Double_t z)
void SetCenterVecWarp (Double_t x, Double_t y, Double_t z)
Double_tGetCenterVec ()
void SetFixDefCenter (Bool_t x)
void SetFixDefCenterVec (Double_t x, Double_t y, Double_t z)
Double_tGetFixDefCenterVec ()
Double_t GetNearClip () const
Double_t GetFarClip () const
const TGLMatrixGetCamBase () const
const TGLMatrixGetCamTrans () const
TGLMatrixRefCamBase ()
TGLMatrixRefCamTrans ()
Double_t GetTheta () const
TGLMatrixRefLastNoPickProjM () const
TGLVertex3 EyePoint () const
TGLVector3 EyeDirection () const
TGLVertex3 FrustumCenter () const
const TGLPlaneFrustumPlane (EFrustumPlane plane) const
EOverlap FrustumOverlap (const TGLBoundingBox &box) const
EOverlap ViewportOverlap (const TGLBoundingBox &box) const
TGLRect ViewportRect (const TGLBoundingBox &box, TGLBoundingBox::EFace face) const
TGLRect ViewportRect (const TGLBoundingBox &box, const TGLBoundingBox::EFace *face=0) const
TGLVertex3 WorldToViewport (const TGLVertex3 &worldVertex, TGLMatrix *modviewMat=0) const
TGLVector3 WorldDeltaToViewport (const TGLVertex3 &worldRef, const TGLVector3 &worldDelta) const
TGLVertex3 ViewportToWorld (const TGLVertex3 &viewportVertex, TGLMatrix *modviewMat=0) const
TGLLine3 ViewportToWorld (Double_t viewportX, Double_t viewportY) const
TGLLine3 ViewportToWorld (const TPoint &viewport) const
TGLVector3 ViewportDeltaToWorld (const TGLVertex3 &worldRef, Double_t viewportXDelta, Double_t viewportYDelta, TGLMatrix *modviewMat=0) const
std::pair< Bool_t, TGLVertex3ViewportPlaneIntersection (Double_t viewportX, Double_t viewportY, const TGLPlane &worldPlane) const
std::pair< Bool_t, TGLVertex3ViewportPlaneIntersection (const TPoint &viewport, const TGLPlane &worldPlane) const
void WindowToViewport (Int_t &, Int_t &y) const
void WindowToViewport (TPoint &point) const
void WindowToViewport (TGLRect &rect) const
void WindowToViewport (TGLVertex3 &vertex) const
Float_t GetVAxisMinAngle ()
void SetVAxisMinAngle (Float_t x)
virtual void Configure (Double_t zoom, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate)=0
Bool_t OfInterest (const TGLBoundingBox &box, Bool_t ignoreSize) const
Bool_t UpdateInterest (Bool_t force)
void ResetInterest ()
void DrawDebugAids () const
 ClassDef (TGLCamera, 0)
 TGLCamera ()
 TGLCamera (const TGLVector3 &hAxis, const TGLVector3 &vAxis)
virtual ~TGLCamera ()
virtual Bool_t IsOrthographic () const
virtual Bool_t IsPerspective () const
const TGLMatrixRefModelViewMatrix () const
Bool_t IsCacheDirty () const
void IncTimeStamp ()
UInt_t TimeStamp () const
void SetViewport (const TGLRect &viewport)
TGLRectRefViewport ()
const TGLRectRefViewport () const
virtual void Setup (const TGLBoundingBox &box, Bool_t reset=kTRUE)=0
virtual void Reset ()=0
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)=0
virtual Bool_t Truck (Double_t xDelta, Double_t yDelta)
virtual Bool_t Truck (Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2)=0
virtual Bool_t Rotate (Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2)
virtual Bool_t RotateRad (Double_t hRotate, Double_t vRotate)
virtual void Apply (const TGLBoundingBox &sceneBox, const TGLRect *pickRect=0) const =0
Bool_t AdjustAndClampVal (Double_t &val, Double_t min, Double_t max, Int_t screenShift, Int_t screenShiftRange, Bool_t mod1, Bool_t mod2) const
Double_t AdjustDelta (Double_t screenShift, Double_t deltaFactor, Bool_t mod1, Bool_t mod2) const
void SetExternalCenter (Bool_t x)
Bool_t GetExternalCenter ()
void SetCenterVec (Double_t x, Double_t y, Double_t z)
void SetCenterVecWarp (Double_t x, Double_t y, Double_t z)
Double_tGetCenterVec ()
void SetFixDefCenter (Bool_t x)
void SetFixDefCenterVec (Double_t x, Double_t y, Double_t z)
Double_tGetFixDefCenterVec ()
Double_t GetNearClip () const
Double_t GetFarClip () const
const TGLMatrixGetCamBase () const
const TGLMatrixGetCamTrans () const
TGLMatrixRefCamBase ()
TGLMatrixRefCamTrans ()
Double_t GetTheta () const
TGLMatrixRefLastNoPickProjM () const
TGLVertex3 EyePoint () const
TGLVector3 EyeDirection () const
TGLVertex3 FrustumCenter () const
const TGLPlaneFrustumPlane (EFrustumPlane plane) const
EOverlap FrustumOverlap (const TGLBoundingBox &box) const
EOverlap ViewportOverlap (const TGLBoundingBox &box) const
TGLRect ViewportRect (const TGLBoundingBox &box, TGLBoundingBox::EFace face) const
TGLRect ViewportRect (const TGLBoundingBox &box, const TGLBoundingBox::EFace *face=0) const
TGLVertex3 WorldToViewport (const TGLVertex3 &worldVertex, TGLMatrix *modviewMat=0) const
TGLVector3 WorldDeltaToViewport (const TGLVertex3 &worldRef, const TGLVector3 &worldDelta) const
TGLVertex3 ViewportToWorld (const TGLVertex3 &viewportVertex, TGLMatrix *modviewMat=0) const
TGLLine3 ViewportToWorld (Double_t viewportX, Double_t viewportY) const
TGLLine3 ViewportToWorld (const TPoint &viewport) const
TGLVector3 ViewportDeltaToWorld (const TGLVertex3 &worldRef, Double_t viewportXDelta, Double_t viewportYDelta, TGLMatrix *modviewMat=0) const
std::pair< Bool_t, TGLVertex3ViewportPlaneIntersection (Double_t viewportX, Double_t viewportY, const TGLPlane &worldPlane) const
std::pair< Bool_t, TGLVertex3ViewportPlaneIntersection (const TPoint &viewport, const TGLPlane &worldPlane) const
void WindowToViewport (Int_t &, Int_t &y) const
void WindowToViewport (TPoint &point) const
void WindowToViewport (TGLRect &rect) const
void WindowToViewport (TGLVertex3 &vertex) const
Float_t GetVAxisMinAngle ()
void SetVAxisMinAngle (Float_t x)
virtual void Configure (Double_t zoom, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate)=0
Bool_t OfInterest (const TGLBoundingBox &box, Bool_t ignoreSize) const
Bool_t UpdateInterest (Bool_t force)
void ResetInterest ()
void DrawDebugAids () const
 ClassDef (TGLCamera, 0)

Protected Member Functions

void UpdateCache () const
void UpdateCache () const

Protected Attributes

TGLMatrix fCamBase
TGLMatrix fCamTrans
 tranformation to center and rotation from up to x vector
Bool_t fExternalCenter
 transformation relative to fCamTrans
Bool_t fFixDefCenter
 use external center insead of scene center
TGLVector3 fExtCenter
 use fixed default center
TGLVector3 fDefCenter
 external camera center
TGLVector3 fFDCenter
 deafult camera center
TGLVector3fCenter
 fixed deafult camera center
Double_t fNearClip
 current camera center
Double_t fFarClip
 last applied near-clip
Double_t fDollyDefault
 last applied far-clip
Double_t fDollyDistance
 default distnce from viewing centre
Float_t fVAxisMinAngle
 unit distance for camera movement in fwd/bck direction
Bool_t fCacheDirty
 minimal allowed angle between up and fCamTrans Z vector
UInt_t fTimeStamp
 cached items dirty?
TGLMatrix fLastNoPickProjM
 timestamp
TGLMatrix fProjM
 no-pick projection matrix (cached)
TGLMatrix fModVM
 projection matrix (cached)
TGLMatrix fClipM
 modelView matrix (cached)
TGLPlane fFrustumPlanes [kPlanesPerFrustum]
 object space clip matrix (cached)
TGLRect fViewport
 frustum planes (cached)
TGLBoundingBox fInterestBox
 viewport (GL coords - origin bottom left)
Double_t fLargestSeen
 the interest box - created in UpdateInterest()
TGLVector3fCenter
 fixed deafult camera center

Static Protected Attributes

static UInt_t fgDollyDeltaSens

Private Member Functions

TGLBoundingBox Frustum (Bool_t asBox=kTRUE) const
 expansion c.f. aligned current frustum box
 TGLCamera (const TGLCamera &)
TGLCameraoperator= (const TGLCamera &)
TGLBoundingBox Frustum (Bool_t asBox=kTRUE) const
 expansion c.f. aligned current frustum box
 TGLCamera (const TGLCamera &)
TGLCameraoperator= (const TGLCamera &)

Private Attributes

TGLBoundingBox fPreviousInterestBox
TGLBoundingBox fInterestFrustum
 previous interest box (DEBUG)
TGLBoundingBox fInterestFrustumAsBox
 frustum basis of current interest box - NOT a true BB! (DEBUG)

Static Private Attributes

static const Double_t fgInterestBoxExpansion
 frustum basis (as box) of current interest box (DEBUG)

Detailed Description

Definition at line 42 of file TGLCamera.h.


Member Enumeration Documentation

enum TGLCamera::EFrustumPlane

Definition at line 45 of file TGLCamera.h.

enum TGLCamera::EFrustumPlane

Definition at line 45 of file TGLCamera.h.


Constructor & Destructor Documentation

TGLCamera::TGLCamera ( const TGLCamera  )  [private]

TGLCamera::TGLCamera (  ) 

Definition at line 44 of file TGLCamera.cxx.

References i.

TGLCamera::TGLCamera ( const TGLVector3 hAxis,
const TGLVector3 vAxis 
)

Definition at line 66 of file TGLCamera.cxx.

References fCamBase, fFrustumPlanes, i, kPlanesPerFrustum, and TGLMatrix::Set().

TGLCamera::~TGLCamera (  )  [virtual]

Definition at line 88 of file TGLCamera.cxx.

TGLCamera::TGLCamera ( const TGLCamera  )  [private]

TGLCamera::TGLCamera (  ) 

TGLCamera::TGLCamera ( const TGLVector3 hAxis,
const TGLVector3 vAxis 
)

virtual TGLCamera::~TGLCamera (  )  [virtual]


Member Function Documentation

TGLBoundingBox TGLCamera::Frustum ( Bool_t  asBox = kTRUE  )  const [private]

expansion c.f. aligned current frustum box

Definition at line 157 of file TGLCamera.cxx.

References Error, fCacheDirty, fFrustumPlanes, Intersection(), kBottom, kFar, kLeft, kNear, kRight, kTop, and TGLPlane::NearestOn().

Referenced by UpdateInterest().

TGLCamera& TGLCamera::operator= ( const TGLCamera  )  [private]

void TGLCamera::UpdateCache (  )  const [protected]

largest box diagonal seen in OfInterest() - used when bootstrapping interest box

Definition at line 103 of file TGLCamera.cxx.

References TGLMatrix::Arr(), fCacheDirty, fClipM, fFrustumPlanes, fModVM, fProjM, GL_MODELVIEW_MATRIX, GL_PROJECTION_MATRIX, glGetDoublev(), kBottom, kFALSE, kFar, kLeft, kNear, kRight, kTop, and TGLPlane::Set().

Referenced by TGLPerspectiveCamera::Apply(), and TGLOrthoCamera::Apply().

virtual Bool_t TGLCamera::IsOrthographic (  )  const [inline, virtual]

Definition at line 116 of file TGLCamera.h.

References kFALSE.

Referenced by TEveCaloLegoGL::DirectDraw(), TEveCaloLegoOverlay::Handle(), TEveCaloLegoOverlay::Render(), TGLCameraOverlay::Render(), TEveLegoEventHandler::Rotate(), and TGLViewerEditor::SetGuides().

virtual Bool_t TGLCamera::IsPerspective (  )  const [inline, virtual]

Definition at line 117 of file TGLCamera.h.

References kFALSE.

Referenced by TGLViewerEditor::DoCameraOverlay(), TGLViewer::DoDraw(), TEveCaloLegoOverlay::Render(), and TGLCameraOverlay::Render().

const TGLMatrix& TGLCamera::RefModelViewMatrix (  )  const [inline]

Definition at line 119 of file TGLCamera.h.

References fModVM.

Referenced by TGLCameraGuide::Render().

Bool_t TGLCamera::IsCacheDirty (  )  const [inline]

Definition at line 121 of file TGLCamera.h.

References fCacheDirty.

void TGLCamera::IncTimeStamp (  )  [inline]

Definition at line 122 of file TGLCamera.h.

References fCacheDirty, fTimeStamp, and kTRUE.

Referenced by TGLOrthoCamera::Configure(), TGLPerspectiveCamera::Configure(), Dolly(), TGLOrthoCamera::Reset(), TGLPerspectiveCamera::Reset(), RotateRad(), SetCenterVec(), SetCenterVecWarp(), SetExternalCenter(), SetViewport(), TGLOrthoCamera::SetZoomMax(), TGLOrthoCamera::SetZoomMin(), Truck(), TGLPerspectiveCamera::Zoom(), and TGLOrthoCamera::Zoom().

UInt_t TGLCamera::TimeStamp (  )  const [inline]

Definition at line 123 of file TGLCamera.h.

References fTimeStamp.

Referenced by TGLSceneBase::PreDraw(), and TGLSceneBase::UpdateSceneInfo().

void TGLCamera::SetViewport ( const TGLRect viewport  ) 

Definition at line 94 of file TGLCamera.cxx.

References fViewport, and IncTimeStamp().

Referenced by TGLViewer::SetCurrentCamera(), and TGLViewer::SetViewport().

TGLRect& TGLCamera::RefViewport (  )  [inline]

Definition at line 126 of file TGLCamera.h.

References fViewport.

Referenced by TEveCaloLegoGL::DrawAxis2D(), TEvePolygonSetProjectedGL::DrawHighlight(), TGLLogicalShape::DrawHighlight(), TGLAnnotation::Handle(), TEveCaloLegoOverlay::Handle(), TGLCameraGuide::Handle(), TGLEventHandler::HandleButton(), TGLRnrCtx::ProjectionMatrixPushIdentity(), TGLOverlayButton::Render(), TGLCameraGuide::Render(), TEveCaloLegoOverlay::Render(), TGLAnnotation::Render(), TGLCameraOverlay::RenderBar(), TEveCaloLegoOverlay::RenderHeader(), TEveCaloLegoOverlay::RenderLogaritmicScales(), TEveCaloLegoOverlay::RenderPaletteScales(), TEveCaloLegoOverlay::RenderPlaneInterface(), TGLCameraOverlay::RenderPlaneIntersect(), TEveLegoEventHandler::Rotate(), and TEveCaloLegoOverlay::SetSliderVal().

const TGLRect& TGLCamera::RefViewport (  )  const [inline]

Definition at line 127 of file TGLCamera.h.

References fViewport.

virtual void TGLCamera::Setup ( const TGLBoundingBox box,
Bool_t  reset = kTRUE 
) [pure virtual]

Referenced by TGLViewer::ResetCurrentCamera().

virtual void TGLCamera::Reset (  )  [pure virtual]

Bool_t TGLCamera::Dolly ( Int_t  delta,
Bool_t  mod1,
Bool_t  mod2 
) [virtual]

Definition at line 940 of file TGLCamera.cxx.

References AdjustDelta(), fCamTrans, fDollyDistance, IncTimeStamp(), kFALSE, kTRUE, and TGLMatrix::MoveLF().

Referenced by TGLOrthoCamera::Dolly(), TGLEventHandler::HandleKey(), TGLEventHandler::HandleMotion(), and RootShower::ProcessMessage().

virtual Bool_t TGLCamera::Zoom ( Int_t  delta,
Bool_t  mod1,
Bool_t  mod2 
) [pure virtual]

Referenced by TGLEventHandler::ExecuteEvent(), and TGLEventHandler::HandleButton().

Bool_t TGLCamera::Truck ( Double_t  xDelta,
Double_t  yDelta 
) [virtual]

Definition at line 865 of file TGLCamera.cxx.

References fCamTrans, IncTimeStamp(), kFALSE, kTRUE, and TGLMatrix::MoveLF().

Referenced by TGLEventHandler::HandleKey(), and TGLEventHandler::HandleMotion().

virtual Bool_t TGLCamera::Truck ( Int_t  xDelta,
Int_t  yDelta,
Bool_t  mod1,
Bool_t  mod2 
) [pure virtual]

Bool_t TGLCamera::Rotate ( Int_t  xDelta,
Int_t  yDelta,
Bool_t  mod1,
Bool_t  mod2 
) [virtual]

Definition at line 885 of file TGLCamera.cxx.

References AdjustDelta(), fViewport, TGLRect::Height(), TMath::Pi(), RotateRad(), TMath::TwoPi(), and TGLRect::Width().

Referenced by TGLEventHandler::Rotate(), TEveLegoEventHandler::Rotate(), and TGLOrthoCamera::Rotate().

Bool_t TGLCamera::RotateRad ( Double_t  hRotate,
Double_t  vRotate 
) [virtual]

Definition at line 899 of file TGLCamera.cxx.

References TMath::ACos(), fCamBase, fCamTrans, fVAxisMinAngle, TGLMatrix::GetBaseVec(), TGLMatrix::GetTranslation(), IncTimeStamp(), kTRUE, TGLMatrix::MoveLF(), TMath::Pi(), TGLMatrix::RotateIP(), TGLMatrix::RotateLF(), TGLMatrix::RotatePF(), and theta.

Referenced by TGLOrthoCamera::Configure(), TGLPerspectiveCamera::Configure(), RootShower::ProcessMessage(), Rotate(), TGLAutoRotator::Timeout(), and track().

virtual void TGLCamera::Apply ( const TGLBoundingBox sceneBox,
const TGLRect pickRect = 0 
) const [pure virtual]

Referenced by TGLViewerBase::PreRender(), and TGLViewerBase::PreRenderOverlaySelection().

Bool_t TGLCamera::AdjustAndClampVal ( Double_t val,
Double_t  min,
Double_t  max,
Int_t  screenShift,
Int_t  screenShiftRange,
Bool_t  mod1,
Bool_t  mod2 
) const

Definition at line 684 of file TGLCamera.cxx.

References kFALSE.

Referenced by TGLPerspectiveCamera::Zoom(), and TGLOrthoCamera::Zoom().

Double_t TGLCamera::AdjustDelta ( Double_t  screenShift,
Double_t  deltaFactor,
Bool_t  mod1,
Bool_t  mod2 
) const

Definition at line 733 of file TGLCamera.cxx.

Referenced by Dolly(), TEveLegoEventHandler::Rotate(), Rotate(), TGLOrthoCamera::Truck(), and TGLPerspectiveCamera::Truck().

void TGLCamera::SetExternalCenter ( Bool_t  x  ) 

Definition at line 797 of file TGLCamera.cxx.

References fCamBase, fCamTrans, fCenter, fDefCenter, fExtCenter, fExternalCenter, IncTimeStamp(), TGLMatrix::Invert(), and TGLMatrix::SetBaseVec().

Referenced by TGLViewerEditor::DoCameraCenterExt(), TGLEventHandler::HandleButton(), and TGLEventHandler::HandleKey().

Bool_t TGLCamera::GetExternalCenter (  )  [inline]

Definition at line 149 of file TGLCamera.h.

References fExternalCenter.

Referenced by TGLEventHandler::HandleKey(), and TGLViewerEditor::SetModel().

void TGLCamera::SetCenterVec ( Double_t  x,
Double_t  y,
Double_t  z 
)

Definition at line 819 of file TGLCamera.cxx.

References fCamBase, fCamTrans, fCenter, fDefCenter, fExtCenter, fExternalCenter, IncTimeStamp(), TGLMatrix::Invert(), TGLVertex3::Set(), and TGLMatrix::SetBaseVec().

Referenced by TGLOrthoCamera::Configure(), TGLPerspectiveCamera::Configure(), TGLEventHandler::HandleButton(), TGLPerspectiveCamera::Setup(), TGLOrthoCamera::Setup(), and TGLViewerEditor::UpdateCameraCenter().

void TGLCamera::SetCenterVecWarp ( Double_t  x,
Double_t  y,
Double_t  z 
)

Definition at line 837 of file TGLCamera.cxx.

References fCamBase, fCenter, fDefCenter, fExtCenter, fExternalCenter, IncTimeStamp(), TGLVertex3::Set(), and TGLMatrix::SetBaseVec().

Referenced by TEveLegoEventHandler::Rotate().

Double_t* TGLCamera::GetCenterVec (  )  [inline]

Definition at line 153 of file TGLCamera.h.

References TGLVertex3::Arr(), and fCenter.

Referenced by TGLViewer::DrawGuides(), and TGLViewerEditor::SetModel().

void TGLCamera::SetFixDefCenter ( Bool_t  x  )  [inline]

Definition at line 155 of file TGLCamera.h.

References fFixDefCenter.

void TGLCamera::SetFixDefCenterVec ( Double_t  x,
Double_t  y,
Double_t  z 
) [inline]

Definition at line 156 of file TGLCamera.h.

References fFDCenter, and TGLVertex3::Set().

Double_t* TGLCamera::GetFixDefCenterVec (  )  [inline]

Definition at line 157 of file TGLCamera.h.

References TGLVertex3::Arr(), and fFDCenter.

Double_t TGLCamera::GetNearClip (  )  const [inline]

Definition at line 159 of file TGLCamera.h.

References fNearClip.

Double_t TGLCamera::GetFarClip (  )  const [inline]

Definition at line 160 of file TGLCamera.h.

References fFarClip.

const TGLMatrix& TGLCamera::GetCamBase (  )  const [inline]

Definition at line 162 of file TGLCamera.h.

References fCamBase.

Referenced by TEveCaloLegoGL::DirectDraw(), TGLCameraOverlay::RenderAxis(), TGLCameraOverlay::RenderBar(), TGLCameraOverlay::RenderPlaneIntersect(), TEveLegoEventHandler::Rotate(), and TGLCameraOverlay::SetFrustum().

const TGLMatrix& TGLCamera::GetCamTrans (  )  const [inline]

Definition at line 163 of file TGLCamera.h.

References fCamTrans.

Referenced by TGLCameraOverlay::RenderPlaneIntersect(), TEveLegoEventHandler::Rotate(), and TGLAutoRotator::Start().

TGLMatrix& TGLCamera::RefCamBase (  )  [inline]

Definition at line 165 of file TGLCamera.h.

References fCamBase.

TGLMatrix& TGLCamera::RefCamTrans (  )  [inline]

Definition at line 166 of file TGLCamera.h.

References fCamTrans.

Referenced by TGLAutoRotator::Timeout().

Double_t TGLCamera::GetTheta (  )  const

Definition at line 854 of file TGLCamera.cxx.

References TMath::ACos(), fCamBase, fCamTrans, TGLMatrix::GetBaseVec(), and TGLMatrix::RotateIP().

Referenced by TEveLegoEventHandler::Rotate(), and TGLAutoRotator::Timeout().

TGLMatrix& TGLCamera::RefLastNoPickProjM (  )  const [inline]

Definition at line 170 of file TGLCamera.h.

References fLastNoPickProjM.

Referenced by TEveTextGL::DirectDraw(), TGLAxisPainterBox::SetAxis3DTitlePos(), and TEveCaloLegoGL::SetAxis3DTitlePos().

TGLVertex3 TGLCamera::EyePoint (  )  const

Definition at line 212 of file TGLCamera.cxx.

References Error, fCacheDirty, fFrustumPlanes, Intersection(), kLeft, kRight, and kTop.

Referenced by TGLPerspectiveCamera::Apply(), and DrawDebugAids().

TGLVector3 TGLCamera::EyeDirection (  )  const

Definition at line 228 of file TGLCamera.cxx.

References Error, fCacheDirty, fFrustumPlanes, kNear, and TGLPlane::Norm().

Referenced by TGLPerspectiveCamera::Apply(), and DrawDebugAids().

TGLVertex3 TGLCamera::FrustumCenter (  )  const

Definition at line 240 of file TGLCamera.cxx.

References Error, fCacheDirty, fFrustumPlanes, Intersection(), kBottom, kFar, kLeft, kNear, kRight, and kTop.

const TGLPlane & TGLCamera::FrustumPlane ( EFrustumPlane  plane  )  const [inline]

Definition at line 215 of file TGLCamera.h.

References Error, fCacheDirty, and fFrustumPlanes.

Referenced by TEveCaloLegoGL::DrawAxis2D(), TEveLegoEventHandler::Rotate(), TGLCameraOverlay::SetFrustum(), and TGLSceneBase::UpdateSceneInfo().

EOverlap TGLCamera::FrustumOverlap ( const TGLBoundingBox box  )  const

Definition at line 264 of file TGLCamera.cxx.

References box(), Error, fCacheDirty, fFrustumPlanes, kInside, kOutside, kPartial, and kPlanesPerFrustum.

Referenced by TGLViewerBase::PreRender().

EOverlap TGLCamera::ViewportOverlap ( const TGLBoundingBox box  )  const

Definition at line 306 of file TGLCamera.cxx.

References box(), fViewport, TGLRect::Overlap(), and ViewportRect().

TGLRect TGLCamera::ViewportRect ( const TGLBoundingBox box,
TGLBoundingBox::EFace  face 
) const

Definition at line 316 of file TGLCamera.cxx.

References box().

Referenced by ViewportOverlap().

TGLRect TGLCamera::ViewportRect ( const TGLBoundingBox box,
const TGLBoundingBox::EFace face = 0 
) const

Definition at line 326 of file TGLCamera.cxx.

References box(), TGLMatrix::CArr(), TGLRect::CArr(), Error, TGLRect::Expand(), fCacheDirty, fModVM, fProjM, fViewport, i, and TGLRect::SetCorner().

TGLVertex3 TGLCamera::WorldToViewport ( const TGLVertex3 worldVertex,
TGLMatrix modviewMat = 0 
) const

Definition at line 385 of file TGLCamera.cxx.

References TGLMatrix::CArr(), TGLRect::CArr(), Error, fCacheDirty, fModVM, fProjM, and fViewport.

Referenced by TGLAnnotation::Render(), ViewportDeltaToWorld(), and WorldDeltaToViewport().

TGLVector3 TGLCamera::WorldDeltaToViewport ( const TGLVertex3 worldRef,
const TGLVector3 worldDelta 
) const

Definition at line 408 of file TGLCamera.cxx.

References Error, fCacheDirty, v1, and WorldToViewport().

Referenced by TEveCaloLegoOverlay::Render().

TGLVertex3 TGLCamera::ViewportToWorld ( const TGLVertex3 viewportVertex,
TGLMatrix modviewMat = 0 
) const

Definition at line 428 of file TGLCamera.cxx.

References TGLMatrix::CArr(), TGLRect::CArr(), Error, fCacheDirty, fModVM, fProjM, and fViewport.

Referenced by TGLEventHandler::HandleButton(), ViewportDeltaToWorld(), ViewportPlaneIntersection(), and ViewportToWorld().

TGLLine3 TGLCamera::ViewportToWorld ( Double_t  viewportX,
Double_t  viewportY 
) const

Definition at line 457 of file TGLCamera.cxx.

References Error, fCacheDirty, and ViewportToWorld().

TGLLine3 TGLCamera::ViewportToWorld ( const TPoint viewport  )  const

Definition at line 477 of file TGLCamera.cxx.

References TPoint::GetX(), TPoint::GetY(), and ViewportToWorld().

TGLVector3 TGLCamera::ViewportDeltaToWorld ( const TGLVertex3 worldRef,
Double_t  viewportXDelta,
Double_t  viewportYDelta,
TGLMatrix modviewMat = 0 
) const

Definition at line 525 of file TGLCamera.cxx.

References Error, fCacheDirty, TGLVertex3::Shift(), ViewportToWorld(), and WorldToViewport().

Referenced by TEveCaloLegoGL::DrawAxis3D(), TGLAxisPainterBox::DrawAxis3D(), and TGLViewer::DrawGuides().

std::pair< Bool_t, TGLVertex3 > TGLCamera::ViewportPlaneIntersection ( Double_t  viewportX,
Double_t  viewportY,
const TGLPlane worldPlane 
) const

Definition at line 491 of file TGLCamera.cxx.

References Intersection(), kTRUE, and ViewportToWorld().

Referenced by ViewportPlaneIntersection().

std::pair< Bool_t, TGLVertex3 > TGLCamera::ViewportPlaneIntersection ( const TPoint viewport,
const TGLPlane worldPlane 
) const

Definition at line 513 of file TGLCamera.cxx.

References TPoint::GetX(), TPoint::GetY(), and ViewportPlaneIntersection().

void TGLCamera::WindowToViewport ( Int_t ,
Int_t y 
) const [inline]

Definition at line 194 of file TGLCamera.h.

References fViewport, and TGLRect::Height().

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), TGLEventHandler::HandleButton(), TGLRnrCtx::ProjectionMatrixPushIdentity(), TGLOverlayButton::Render(), and TEveCaloLegoOverlay::Render().

void TGLCamera::WindowToViewport ( TPoint point  )  const [inline]

Definition at line 195 of file TGLCamera.h.

References fViewport, and TGLRect::Height().

void TGLCamera::WindowToViewport ( TGLRect rect  )  const [inline]

Definition at line 196 of file TGLCamera.h.

References fViewport, TGLRect::Height(), and TGLRect::Y().

void TGLCamera::WindowToViewport ( TGLVertex3 vertex  )  const [inline]

Definition at line 197 of file TGLCamera.h.

References fViewport, TGLRect::Height(), and TGLVertex3::Y().

Float_t TGLCamera::GetVAxisMinAngle (  )  [inline]

Definition at line 199 of file TGLCamera.h.

References fVAxisMinAngle.

Referenced by TEveLegoEventHandler::Rotate().

void TGLCamera::SetVAxisMinAngle ( Float_t  x  )  [inline]

Definition at line 200 of file TGLCamera.h.

References fVAxisMinAngle.

virtual void TGLCamera::Configure ( Double_t  zoom,
Double_t  dolly,
Double_t  center[3],
Double_t  hRotate,
Double_t  vRotate 
) [pure virtual]

Bool_t TGLCamera::OfInterest ( const TGLBoundingBox box,
Bool_t  ignoreSize 
) const

Definition at line 542 of file TGLCamera.cxx.

References box(), TGLBoundingBox::Diagonal(), fInterestBox, fLargestSeen, TGLBoundingBox::IsEmpty(), kFALSE, kOutside, kTRUE, and TGLBoundingBox::Overlap().

Referenced by TGLScene::RebuildSceneInfo().

Bool_t TGLCamera::UpdateInterest ( Bool_t  force  ) 

Definition at line 607 of file TGLCamera.cxx.

References Error, TGLBoundingBox::Extents(), fgInterestBoxExpansion, fInterestBox, fInterestFrustum, fInterestFrustumAsBox, fPreviousInterestBox, Frustum(), gDebug, Info, TGLBoundingBox::IsEmpty(), kFALSE, kInside, kTRUE, TGLVector3::Mag(), TGLBoundingBox::Overlap(), TGLBoundingBox::Scale(), and TGLBoundingBox::Volume().

void TGLCamera::ResetInterest (  ) 

Definition at line 673 of file TGLCamera.cxx.

References fInterestBox, fLargestSeen, and TGLBoundingBox::SetEmpty().

void TGLCamera::DrawDebugAids (  )  const

Definition at line 760 of file TGLCamera.cxx.

References TGLBoundingBox::Draw(), EyeDirection(), EyePoint(), fInterestBox, fInterestFrustum, fInterestFrustumAsBox, fPreviousInterestBox, GL_LINES, glBegin(), glColor3d(), glEnd(), glVertex3dv(), and start.

Referenced by TGLViewer::DrawDebugInfo().

TGLCamera::ClassDef ( TGLCamera  ,
 
)

TGLBoundingBox TGLCamera::Frustum ( Bool_t  asBox = kTRUE  )  const [private]

expansion c.f. aligned current frustum box

TGLCamera& TGLCamera::operator= ( const TGLCamera  )  [private]

void TGLCamera::UpdateCache (  )  const [protected]

largest box diagonal seen in OfInterest() - used when bootstrapping interest box

virtual Bool_t TGLCamera::IsOrthographic (  )  const [inline, virtual]

Definition at line 116 of file TGLCamera.h.

References kFALSE.

virtual Bool_t TGLCamera::IsPerspective (  )  const [inline, virtual]

Definition at line 117 of file TGLCamera.h.

References kFALSE.

const TGLMatrix& TGLCamera::RefModelViewMatrix (  )  const [inline]

Definition at line 119 of file TGLCamera.h.

References fModVM.

Bool_t TGLCamera::IsCacheDirty (  )  const [inline]

Definition at line 121 of file TGLCamera.h.

References fCacheDirty.

void TGLCamera::IncTimeStamp (  )  [inline]

Definition at line 122 of file TGLCamera.h.

References fCacheDirty, fTimeStamp, and kTRUE.

UInt_t TGLCamera::TimeStamp (  )  const [inline]

Definition at line 123 of file TGLCamera.h.

References fTimeStamp.

void TGLCamera::SetViewport ( const TGLRect viewport  ) 

TGLRect& TGLCamera::RefViewport (  )  [inline]

Definition at line 126 of file TGLCamera.h.

References fViewport.

const TGLRect& TGLCamera::RefViewport (  )  const [inline]

Definition at line 127 of file TGLCamera.h.

References fViewport.

virtual void TGLCamera::Setup ( const TGLBoundingBox box,
Bool_t  reset = kTRUE 
) [pure virtual]

virtual void TGLCamera::Reset (  )  [pure virtual]

virtual Bool_t TGLCamera::Dolly ( Int_t  delta,
Bool_t  mod1,
Bool_t  mod2 
) [virtual]

virtual Bool_t TGLCamera::Zoom ( Int_t  delta,
Bool_t  mod1,
Bool_t  mod2 
) [pure virtual]

virtual Bool_t TGLCamera::Truck ( Double_t  xDelta,
Double_t  yDelta 
) [virtual]

virtual Bool_t TGLCamera::Truck ( Int_t  xDelta,
Int_t  yDelta,
Bool_t  mod1,
Bool_t  mod2 
) [pure virtual]

virtual Bool_t TGLCamera::Rotate ( Int_t  xDelta,
Int_t  yDelta,
Bool_t  mod1,
Bool_t  mod2 
) [virtual]

virtual Bool_t TGLCamera::RotateRad ( Double_t  hRotate,
Double_t  vRotate 
) [virtual]

virtual void TGLCamera::Apply ( const TGLBoundingBox sceneBox,
const TGLRect pickRect = 0 
) const [pure virtual]

Bool_t TGLCamera::AdjustAndClampVal ( Double_t val,
Double_t  min,
Double_t  max,
Int_t  screenShift,
Int_t  screenShiftRange,
Bool_t  mod1,
Bool_t  mod2 
) const

Double_t TGLCamera::AdjustDelta ( Double_t  screenShift,
Double_t  deltaFactor,
Bool_t  mod1,
Bool_t  mod2 
) const

void TGLCamera::SetExternalCenter ( Bool_t  x  ) 

Bool_t TGLCamera::GetExternalCenter (  )  [inline]

Definition at line 149 of file TGLCamera.h.

References fExternalCenter.

void TGLCamera::SetCenterVec ( Double_t  x,
Double_t  y,
Double_t  z 
)

void TGLCamera::SetCenterVecWarp ( Double_t  x,
Double_t  y,
Double_t  z 
)

Double_t* TGLCamera::GetCenterVec (  )  [inline]

Definition at line 153 of file TGLCamera.h.

References TGLVertex3::Arr(), and fCenter.

void TGLCamera::SetFixDefCenter ( Bool_t  x  )  [inline]

Definition at line 155 of file TGLCamera.h.

References fFixDefCenter.

void TGLCamera::SetFixDefCenterVec ( Double_t  x,
Double_t  y,
Double_t  z 
) [inline]

Definition at line 156 of file TGLCamera.h.

References fFDCenter, and TGLVertex3::Set().

Double_t* TGLCamera::GetFixDefCenterVec (  )  [inline]

Definition at line 157 of file TGLCamera.h.

References TGLVertex3::Arr(), and fFDCenter.

Double_t TGLCamera::GetNearClip (  )  const [inline]

Definition at line 159 of file TGLCamera.h.

References fNearClip.

Double_t TGLCamera::GetFarClip (  )  const [inline]

Definition at line 160 of file TGLCamera.h.

References fFarClip.

const TGLMatrix& TGLCamera::GetCamBase (  )  const [inline]

Definition at line 162 of file TGLCamera.h.

References fCamBase.

const TGLMatrix& TGLCamera::GetCamTrans (  )  const [inline]

Definition at line 163 of file TGLCamera.h.

References fCamTrans.

TGLMatrix& TGLCamera::RefCamBase (  )  [inline]

Definition at line 165 of file TGLCamera.h.

References fCamBase.

TGLMatrix& TGLCamera::RefCamTrans (  )  [inline]

Definition at line 166 of file TGLCamera.h.

References fCamTrans.

Double_t TGLCamera::GetTheta (  )  const

TGLMatrix& TGLCamera::RefLastNoPickProjM (  )  const [inline]

Definition at line 170 of file TGLCamera.h.

References fLastNoPickProjM.

TGLVertex3 TGLCamera::EyePoint (  )  const

TGLVector3 TGLCamera::EyeDirection (  )  const

TGLVertex3 TGLCamera::FrustumCenter (  )  const

const TGLPlane& TGLCamera::FrustumPlane ( EFrustumPlane  plane  )  const

EOverlap TGLCamera::FrustumOverlap ( const TGLBoundingBox box  )  const

EOverlap TGLCamera::ViewportOverlap ( const TGLBoundingBox box  )  const

TGLRect TGLCamera::ViewportRect ( const TGLBoundingBox box,
TGLBoundingBox::EFace  face 
) const

TGLRect TGLCamera::ViewportRect ( const TGLBoundingBox box,
const TGLBoundingBox::EFace face = 0 
) const

TGLVertex3 TGLCamera::WorldToViewport ( const TGLVertex3 worldVertex,
TGLMatrix modviewMat = 0 
) const

TGLVector3 TGLCamera::WorldDeltaToViewport ( const TGLVertex3 worldRef,
const TGLVector3 worldDelta 
) const

TGLVertex3 TGLCamera::ViewportToWorld ( const TGLVertex3 viewportVertex,
TGLMatrix modviewMat = 0 
) const

TGLLine3 TGLCamera::ViewportToWorld ( Double_t  viewportX,
Double_t  viewportY 
) const

TGLLine3 TGLCamera::ViewportToWorld ( const TPoint viewport  )  const

TGLVector3 TGLCamera::ViewportDeltaToWorld ( const TGLVertex3 worldRef,
Double_t  viewportXDelta,
Double_t  viewportYDelta,
TGLMatrix modviewMat = 0 
) const

std::pair<Bool_t, TGLVertex3> TGLCamera::ViewportPlaneIntersection ( Double_t  viewportX,
Double_t  viewportY,
const TGLPlane worldPlane 
) const

std::pair<Bool_t, TGLVertex3> TGLCamera::ViewportPlaneIntersection ( const TPoint viewport,
const TGLPlane worldPlane 
) const

void TGLCamera::WindowToViewport ( Int_t ,
Int_t y 
) const [inline]

Definition at line 194 of file TGLCamera.h.

References fViewport, and TGLRect::Height().

void TGLCamera::WindowToViewport ( TPoint point  )  const [inline]

Definition at line 195 of file TGLCamera.h.

References fViewport, and TGLRect::Height().

void TGLCamera::WindowToViewport ( TGLRect rect  )  const [inline]

Definition at line 196 of file TGLCamera.h.

References fViewport, TGLRect::Height(), and TGLRect::Y().

void TGLCamera::WindowToViewport ( TGLVertex3 vertex  )  const [inline]

Definition at line 197 of file TGLCamera.h.

References fViewport, TGLRect::Height(), and TGLVertex3::Y().

Float_t TGLCamera::GetVAxisMinAngle (  )  [inline]

Definition at line 199 of file TGLCamera.h.

References fVAxisMinAngle.

void TGLCamera::SetVAxisMinAngle ( Float_t  x  )  [inline]

Definition at line 200 of file TGLCamera.h.

References fVAxisMinAngle.

virtual void TGLCamera::Configure ( Double_t  zoom,
Double_t  dolly,
Double_t  center[3],
Double_t  hRotate,
Double_t  vRotate 
) [pure virtual]

Bool_t TGLCamera::OfInterest ( const TGLBoundingBox box,
Bool_t  ignoreSize 
) const

Bool_t TGLCamera::UpdateInterest ( Bool_t  force  ) 

void TGLCamera::ResetInterest (  ) 

void TGLCamera::DrawDebugAids (  )  const

TGLCamera::ClassDef ( TGLCamera  ,
 
)


Member Data Documentation

TGLBoundingBox TGLCamera::fPreviousInterestBox [private]

Definition at line 60 of file TGLCamera.h.

Referenced by DrawDebugAids(), and UpdateInterest().

TGLBoundingBox TGLCamera::fInterestFrustum [private]

previous interest box (DEBUG)

Definition at line 61 of file TGLCamera.h.

Referenced by DrawDebugAids(), and UpdateInterest().

TGLBoundingBox TGLCamera::fInterestFrustumAsBox [private]

frustum basis of current interest box - NOT a true BB! (DEBUG)

Definition at line 62 of file TGLCamera.h.

Referenced by DrawDebugAids(), and UpdateInterest().

static const Double_t TGLCamera::fgInterestBoxExpansion [static, private]

frustum basis (as box) of current interest box (DEBUG)

Definition at line 64 of file TGLCamera.h.

Referenced by UpdateInterest().

TGLMatrix TGLCamera::fCamBase [protected]

Definition at line 75 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), GetCamBase(), GetTheta(), RefCamBase(), RotateRad(), SetCenterVec(), SetCenterVecWarp(), SetExternalCenter(), and TGLCamera().

TGLMatrix TGLCamera::fCamTrans [protected]

tranformation to center and rotation from up to x vector

Definition at line 76 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), TGLOrthoCamera::Configure(), TGLPerspectiveCamera::Configure(), Dolly(), GetCamTrans(), GetTheta(), RefCamTrans(), TGLOrthoCamera::Reset(), TGLPerspectiveCamera::Reset(), RotateRad(), SetCenterVec(), SetExternalCenter(), and Truck().

Bool_t TGLCamera::fExternalCenter [protected]

transformation relative to fCamTrans

Definition at line 77 of file TGLCamera.h.

Referenced by GetExternalCenter(), SetCenterVec(), SetCenterVecWarp(), SetExternalCenter(), TGLPerspectiveCamera::Setup(), and TGLOrthoCamera::Setup().

Bool_t TGLCamera::fFixDefCenter [protected]

use external center insead of scene center

Definition at line 78 of file TGLCamera.h.

Referenced by SetFixDefCenter(), TGLPerspectiveCamera::Setup(), and TGLOrthoCamera::Setup().

TGLVector3 TGLCamera::fExtCenter [protected]

use fixed default center

Definition at line 79 of file TGLCamera.h.

Referenced by SetCenterVec(), SetCenterVecWarp(), and SetExternalCenter().

TGLVector3 TGLCamera::fDefCenter [protected]

external camera center

Definition at line 80 of file TGLCamera.h.

Referenced by SetCenterVec(), SetCenterVecWarp(), and SetExternalCenter().

TGLVector3 TGLCamera::fFDCenter [protected]

deafult camera center

Definition at line 81 of file TGLCamera.h.

Referenced by GetFixDefCenterVec(), SetFixDefCenterVec(), TGLPerspectiveCamera::Setup(), and TGLOrthoCamera::Setup().

TGLVector3* TGLCamera::fCenter [protected]

fixed deafult camera center

Definition at line 82 of file TGLCamera.h.

Referenced by GetCenterVec(), SetCenterVec(), SetCenterVecWarp(), and SetExternalCenter().

Double_t TGLCamera::fNearClip [mutable, protected]

current camera center

Definition at line 84 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), GetNearClip(), and TGLPerspectiveCamera::Truck().

Double_t TGLCamera::fFarClip [mutable, protected]

last applied near-clip

Definition at line 85 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), GetFarClip(), and TGLPerspectiveCamera::Truck().

Double_t TGLCamera::fDollyDefault [protected]

last applied far-clip

Definition at line 88 of file TGLCamera.h.

Referenced by TGLOrthoCamera::Apply(), TGLOrthoCamera::Reset(), TGLPerspectiveCamera::Reset(), and TGLPerspectiveCamera::Setup().

Double_t TGLCamera::fDollyDistance [protected]

default distnce from viewing centre

Definition at line 89 of file TGLCamera.h.

Referenced by Dolly(), TGLOrthoCamera::Reset(), and TGLPerspectiveCamera::Setup().

Float_t TGLCamera::fVAxisMinAngle [protected]

unit distance for camera movement in fwd/bck direction

Definition at line 90 of file TGLCamera.h.

Referenced by GetVAxisMinAngle(), RotateRad(), and SetVAxisMinAngle().

Bool_t TGLCamera::fCacheDirty [mutable, protected]

minimal allowed angle between up and fCamTrans Z vector

Definition at line 93 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), EyeDirection(), EyePoint(), Frustum(), FrustumCenter(), FrustumOverlap(), FrustumPlane(), IncTimeStamp(), IsCacheDirty(), UpdateCache(), ViewportDeltaToWorld(), ViewportRect(), ViewportToWorld(), WorldDeltaToViewport(), and WorldToViewport().

UInt_t TGLCamera::fTimeStamp [mutable, protected]

cached items dirty?

Definition at line 94 of file TGLCamera.h.

Referenced by IncTimeStamp(), and TimeStamp().

TGLMatrix TGLCamera::fLastNoPickProjM [mutable, protected]

timestamp

Definition at line 95 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), and RefLastNoPickProjM().

TGLMatrix TGLCamera::fProjM [mutable, protected]

no-pick projection matrix (cached)

Definition at line 96 of file TGLCamera.h.

Referenced by TGLOrthoCamera::Truck(), UpdateCache(), ViewportRect(), ViewportToWorld(), and WorldToViewport().

TGLMatrix TGLCamera::fModVM [mutable, protected]

projection matrix (cached)

Definition at line 97 of file TGLCamera.h.

Referenced by RefModelViewMatrix(), UpdateCache(), ViewportRect(), ViewportToWorld(), and WorldToViewport().

TGLMatrix TGLCamera::fClipM [mutable, protected]

modelView matrix (cached)

Definition at line 98 of file TGLCamera.h.

Referenced by UpdateCache().

TGLPlane TGLCamera::fFrustumPlanes [mutable, protected]

object space clip matrix (cached)

Definition at line 99 of file TGLCamera.h.

Referenced by EyeDirection(), EyePoint(), Frustum(), FrustumCenter(), FrustumOverlap(), FrustumPlane(), TGLCamera(), and UpdateCache().

TGLRect TGLCamera::fViewport [protected]

frustum planes (cached)

Definition at line 101 of file TGLCamera.h.

Referenced by TGLPerspectiveCamera::Apply(), TGLOrthoCamera::Apply(), RefViewport(), Rotate(), TGLPerspectiveCamera::Setup(), SetViewport(), TGLOrthoCamera::Truck(), TGLPerspectiveCamera::Truck(), ViewportOverlap(), ViewportRect(), ViewportToWorld(), WindowToViewport(), and WorldToViewport().

TGLBoundingBox TGLCamera::fInterestBox [protected]

viewport (GL coords - origin bottom left)

Definition at line 103 of file TGLCamera.h.

Referenced by DrawDebugAids(), OfInterest(), ResetInterest(), and UpdateInterest().

Double_t TGLCamera::fLargestSeen [mutable, protected]

the interest box - created in UpdateInterest()

Definition at line 104 of file TGLCamera.h.

Referenced by OfInterest(), and ResetInterest().

static UInt_t TGLCamera::fgDollyDeltaSens [static, protected]

Definition at line 110 of file TGLCamera.h.

TGLVector3* TGLCamera::fCenter [protected]

fixed deafult camera center

Definition at line 82 of file TGLCamera.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:39:58 2011 for ROOT_528-00b_version by  doxygen 1.5.1