library: libRGL #include "TGLCamera.h" |
TGLCamera
class description - source file - inheritance tree (.pdf)
This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.
private:
TGLVertex3 EyePoint() const
TGLBoundingBox Frustum(Bool_t asBox = kTRUE) const
TGLCamera& operator=(const TGLCamera&)
protected:
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
void UpdateCache()
public:
virtual ~TGLCamera()
virtual void Apply(const TGLBoundingBox& box, const TGLRect* pickRect = 0)
static TClass* Class()
virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2)
void DrawDebugAids() const
TGLVector3 EyeDistances(const TGLBoundingBox& box) const
EOverlap FrustumOverlap(const TGLBoundingBox& box) const
virtual TClass* IsA() const
Bool_t OfInterest(const TGLBoundingBox& box) const
TGLVector3 ProjectedShift(const TGLVertex3& vertex, Int_t xDelta, Int_t yDelta) const
virtual void Reset()
void ResetInterest()
virtual Bool_t Rotate(Int_t xDelta, Int_t yDelta)
virtual void Setup(const TGLBoundingBox& box)
void SetViewport(const TGLRect& viewport)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual Bool_t Truck(Int_t x, Int_t y, Int_t xDelta, Int_t yDelta)
Bool_t UpdateInterest(Bool_t force)
EOverlap ViewportOverlap(const TGLBoundingBox& box) const
TGLRect ViewportSize(const TGLBoundingBox& box) const
virtual Bool_t Zoom(Int_t delta, Bool_t mod1, Bool_t mod2)
private:
TGLPlane fFrustumPlanes[6] !
protected:
TGLRect fViewport ! viewport (GL coords - origin bottom left)
TGLMatrix fProjM ! projection matrix (cached)
TGLMatrix fModVM ! modelView matrix (cached)
TGLMatrix fClipM ! object space clip matrix (cached)
Bool_t fCacheDirty ! cached items dirty?
TGLBoundingBox fInterestBox ! the interest box - created in UpdateInterest()
TGLBoundingBox fInterestFrustum ! frustum used to create interest box - debug mode only
TGLBoundingBox fInterestFrustumAsBox ! squared off frustum - debug mode only
Double_t fInterestBoxExpansion ! expansion c.f. aligned current frustum box
Double_t fLargestInterest
public:
static const enum TGLCamera:: kNEAR
static const enum TGLCamera:: kLEFT
static const enum TGLCamera:: kRIGHT
static const enum TGLCamera:: kTOP
static const enum TGLCamera:: kBOTTOM
static const enum TGLCamera:: kFAR
static const enum TGLCamera:: kPlanesPerFrustum
~TGLCamera()
void SetViewport(const TGLRect & viewport)
void UpdateCache()
Update internal cached values
TGLVertex3 EyePoint() const
TGLBoundingBox Frustum(Bool_t asBox) const
Return the the current camera frustum. If asBox == FALSE return
a true frustum (truncated square based pyramid). If asBox == TRUE
return a true box, using the far clipping plane intersection projected
back to the near plane
EOverlap FrustumOverlap(const TGLBoundingBox & box) const
EOverlap ViewportOverlap(const TGLBoundingBox & box) const
No cached values need here
TGLRect ViewportSize(const TGLBoundingBox & box) const
TGLVector3 ProjectedShift(const TGLVertex3 & vertex, Int_t xDelta, Int_t yDelta) const
TGLVector3 EyeDistances(const TGLBoundingBox & box) const
Bool_t OfInterest(const TGLBoundingBox & box) const
Bool_t UpdateInterest(Bool_t force)
void ResetInterest()
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
void DrawDebugAids() const
Draw out some debugging aids for the camera:
i) The frustum used to create the current interest box (RED)
ii) The same frustum as a squared off box (ORANGE)
iii) The axis aligned version of the frustum used as interest box basis (YELLOW)
iv) The current interest box (BLUE)
Inline Functions
TGLCamera& operator=(const TGLCamera&)
void Setup(const TGLBoundingBox& box)
void Reset()
Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2)
Bool_t Zoom(Int_t delta, Bool_t mod1, Bool_t mod2)
Bool_t Truck(Int_t x, Int_t y, Int_t xDelta, Int_t yDelta)
Bool_t Rotate(Int_t xDelta, Int_t yDelta)
void Apply(const TGLBoundingBox& box, const TGLRect* pickRect = 0)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Richard Maunder 25/05/2005
Last update: root/gl:$Name: $:$Id: TGLCamera.cxx,v 1.13 2005/06/24 14:53:02 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
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.