12#ifndef ROOT_TGLPerspectiveCamera
13#define ROOT_TGLPerspectiveCamera
#define ClassDef(name, id)
Concrete class describing an orientated (free) or axis aligned box of 8 vertices.
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
virtual Bool_t Truck(Double_t xDelta, Double_t yDelta)
Truck the camera - 'move camera parallel to film plane'.
Perspective projection camera - with characteristic foreshortening.
virtual void Configure(Double_t fov, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate)
Configure the camera state.
static UInt_t fgFOVDeltaSens
virtual void Apply(const TGLBoundingBox &box, const TGLRect *pickRect=nullptr) const
Apply the camera to the current GL context, setting the viewport, projection and modelview matrices.
TGLPerspectiveCamera()
Construct default XOZ perspective camera.
virtual ~TGLPerspectiveCamera()
Destroy perspective camera.
virtual Bool_t Zoom(Int_t delta, Bool_t mod1, Bool_t mod2)
Zoom the camera - 'adjust lens focal length, retaining camera position'.
static Double_t fgFOVDefault
virtual void Reset()
Reset the camera to defaults - reframe the world volume established in Setup() in default state.
virtual void Setup(const TGLBoundingBox &box, Bool_t reset=kTRUE)
Setup camera limits suitable to view the world volume defined by 'box' and call Reset() to initialise...
virtual Bool_t Truck(Int_t xDelta, Int_t yDelta, Bool_t mod1, Bool_t mod2)
Truck the camera - 'move camera parallel to film plane'.
void SetFOV(Double_t fov)
virtual Bool_t IsPerspective() const
Viewport (pixel base) 2D rectangle class.
3 component (x/y/z) vector class.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)