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:
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& sceneBox, const TGLRect* pickRect = 0)
static TClass* Class()
virtual Bool_t Dolly(Int_t delta, Bool_t mod1, Bool_t mod2)
void DrawDebugAids() const
TGLVector3 EyeDirection() const
TGLVertex3 EyePoint() 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] !
TGLBoundingBox fPreviousInterestBox ! previous interest box (DEBUG)
TGLBoundingBox fInterestFrustum ! frustum basis of current interest box - NOT a true BB! (DEBUG)
TGLBoundingBox fInterestFrustumAsBox ! frustum basis (as box) of current interest box (DEBUG)
static const Double_t fgInterestBoxExpansion ! expansion c.f. aligned current frustum box
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()
Double_t fLargestInterest ! largest box diagonal - used when bootstrapping interest box
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
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
TGLVertex3 EyePoint() const
Extract the camera eye point using the current frustum planes
TGLVector3 EyeDirection() const
Extract the camera eye direction using the current frustum planes
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
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& sceneBox, 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.16 2005/08/30 10:29:52 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.