#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t button
Generic 3D primitive description class.
Automatically rotates GL camera.
A GL overlay element which displays camera furstum.
Abstract base camera class - concrete classes for orthographic and perspective cameras derive from it...
A collection of concrete TGLClip objects to be selected from.
void SetAutoUpdate(Bool_t aup)
Bool_t GetAutoUpdate() const
Class encapsulating a set of colors used throughout standard rendering.
Identifier of a shared GL-context.
Base-class and default implementation of event-handler for TGLViewer.
TGLFaderHelper(TGLViewer *v, Float_t fade, Float_t time, Int_t steps)
void MakeFadeStep()
Make one fading step and request redraw.
virtual ~TGLFaderHelper()
TGLFaderHelper(const TGLFaderHelper &)
TGLFaderHelper & operator=(const TGLFaderHelper &)
Encapsulates a set of lights for OpenGL.
Combine all available manipulators in a collection.
Orthographic projection camera.
Wrapper class for GL capture & output routines.
Selection record for overlay objects.
Wrap TGLPysicalShape into TObject so that it can be edited using GED.
Perspective projection camera - with characteristic foreshortening.
Concrete physical shape - a GL drawable.
Viewport (pixel base) 2D rectangle class.
Int_t Diagonal() const
Return the diagonal of the rectangle.
TGLRedrawTimer(TGLViewer &viewer)
Bool_t Notify()
This method must be overridden to handle object notification.
void RequestDraw(Int_t milliSec, Short_t redrawLOD)
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
TGLColorSet * GetBaseColorSet()
Returns the current base color-set.
Scene base-class – provides basic interface expected by the TGLViewer or its sub-classes:
Standard selection record including information about containing scene and details ob out selected ob...
3 component (x/y/z) vector class.
3 component (x/y/z) vertex class.
Base class for GL viewers.
GUI editor for TGLViewer.
Base GL viewer object - used by both standalone and embedded (in pad) GL.
TGLRedrawTimer * fRedrawTimer
virtual void MouseOver(TGLPhysicalShape *)
Emit MouseOver signal.
void SetDrawCameraCenter(Bool_t x)
Draw camera look at and rotation point.
TGLAutoRotator * fAutoRotator
Float_t fLineScale
size scale for points
void FadeView(Float_t alpha)
Draw a rectangle (background color and given alpha) across the whole viewport.
Bool_t SavePictureScale(const TString &fileName, Float_t scale, Bool_t pixel_object_scale=kTRUE)
Save picture with given scale to current window size.
TGLCamera * fCurrentCamera
void SetMaxSceneDrawTimeLQ(Float_t t)
TGLCameraOverlay * fCameraOverlay
reference marker on?
virtual void RefreshPadEditor(TObject *obj=nullptr)
Update GED editor if it is set.
void SetStereoFrustumAsymFac(Float_t f)
TGLOvlSelectRecord & GetOvlSelRec()
Bool_t fAxesDepthTest
axes type
virtual void SetEventHandler(TGEventHandler *handler)
Set the event-handler.
Float_t GetStereoEyeOffsetFac() const
TGLPerspectiveCamera fPerspectiveCameraYOZ
EPushAction GetPushAction() const
TGEventHandler * GetEventHandler() const
TGLOrthoCamera fOrthoXOYCamera
TGLSelectRecord fSelRec
select record in use as selected
TGLColorSet & RefLightColorSet()
Bool_t GetSmoothPoints() const
virtual void ReMouseOver(TObject *obj, UInt_t state)
Emit MouseOver signal.
TImage * GetPictureUsingFBO(Int_t w, Int_t h, Float_t pixel_object_scale=0)
Returns current image.
TGLOrthoCamera fOrthoXnOZCamera
static TGLColorSet & GetDefaultColorSet()
Returns reference to the default color-set.
virtual void RemoveOverlayElement(TGLOverlayElement *el)
Remove overlay element.
void InitGL()
Initialise GL state.
TGLCameraOverlay * GetCameraOverlay() const
virtual void SetupClipObject()
allow simple guide axes labels to be scaled relative to scene units
void SetAutoRotator(TGLAutoRotator *ar)
Set the auto-rotator for this viewer. The old rotator is deleted.
Bool_t GetSmoothLines() const
virtual void Clicked(TObject *obj)
Emit Clicked signal.
void MakeCurrent() const
Make GL context current.
Bool_t fIsPrinting
debug mode (forced rebuild + draw scene/frustum/interest boxes)
static TGLColorSet fgDefaultColorSet
fade the view (0 - no fade/default, 1 - full fade/no rendering done)
Float_t GetStereoZeroParallax() const
Float_t GetMaxSceneDrawTimeLQ() const
TGEventHandler * fEventHandler
select record from last overlay select
EDragAction GetDragAction() const
Bool_t GetDrawCameraCenter()
TGLPerspectiveCamera fPerspectiveCameraXOY
TGLOrthoCamera fOrthoZnOYCamera
TGLRect fViewport
max time for scene rendering at high LOD (in ms)
virtual void SelectionChanged()
Update GUI components for embedded viewer selection change.
void SetCameraOverlay(TGLCameraOverlay *m)
virtual void UnClicked(TObject *obj, UInt_t button, UInt_t state)
Emit UnClicked signal with button id and modifier state.
void SetPerspectiveCamera(ECameraType camera, Double_t fov, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate)
Set a perspective camera to supplied configuration - note this does not need to be the current camera...
TGLVertex3 fReferencePos
reference marker on?
Bool_t RequestOverlaySelect(Int_t x, Int_t y)
Post request for secondary selection rendering of selected object around the window point (x,...
Float_t GetPointScale() const
static Bool_t IsUsingDefaultColorSetForNewViewers()
Returns the value of the static flag that determines if new viewers should use the default color-set.
Int_t ViewportDiagonal() const
virtual void MouseIdle(TGLPhysicalShape *, UInt_t, UInt_t)
Emit MouseIdle signal.
virtual void ResetCameras()
Bool_t SavePictureWidth(const TString &fileName, Int_t width, Bool_t pixel_object_scale=kTRUE)
Save picture with given width (height scaled proportionally).
void DoDrawStereo(Bool_t swap_buffers)
Draw out in stereoscopic mode.
void RequestDraw(Short_t LOD=TGLRnrCtx::kLODMed)
Post request for redraw of viewer at level of detail 'LOD' Request is directed via cross thread gVirt...
void SetGuideState(Int_t axesType, Bool_t axesDepthTest, Bool_t referenceOn, const Double_t *referencePos)
Set the state of guides (axes & reference markers) from arguments.
void DoDraw(Bool_t swap_buffers=kTRUE)
Draw out the viewer.
TGLOrthoCamera fOrthoZOYCamera
virtual void CreateGLWidget()
void SwitchColorSet()
Switch between dark and light colorsets.
virtual void PadPaint(TVirtualPad *pad)
Entry point for updating viewer contents via VirtualViewer3D interface.
TGLPShapeObj * fPShapeWrap
GED editor.
TGLSelectRecord fSecSelRec
select record from last select (should go to context)
TGLLightSet * GetLightSet() const
void DrawDebugInfo()
If in debug mode draw camera aids and overall bounding box.
void SetSmartRefresh(Bool_t smart_ref)
void SetIgnoreSizesOnUpdate(Bool_t v)
void AutoFade(Float_t fade, Float_t time=1, Int_t steps=10)
Animate fading from current value to fade over given time (sec) and number of steps.
Bool_t fReferenceOn
remove guides hidden-lines
TGLCamera & CurrentCamera() const
void SetCurrentCamera(ECameraType camera)
Set current active camera - 'cameraType' one of: kCameraPerspX, kCameraPerspY, kCameraPerspZ,...
void SetupCameras(Bool_t reset)
Setup cameras for current bounding box.
virtual Bool_t PreferLocalFrame() const
Float_t GetStereoFrustumAsymFac() const
Bool_t fResetCamerasOnUpdate
virtual void CloseComposite()
virtual void PrintObjects()
Pass viewer for print capture by TGLOutput.
void SetStereoEyeOffsetFac(Float_t f)
Int_t fAxesType
smooth line edge rendering
TGLClipSet * GetClipSet() const
void SetStereo(Bool_t stereo, Bool_t quad_buf=kTRUE)
Enable stereo rendering.
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Process event of type 'event' - one of EEventType types, occurring at window location px,...
TImage * GetPictureUsingBB()
Returns current image.
TGLColorSet & RefDarkColorSet()
virtual void DestroyGLWidget()
TGLCamera & RefCamera(ECameraType camera)
Return camera reference by type.
TContextMenu * fContextMenu
external pad - remove replace with signal
void UseLightColorSet()
Use the light color-set.
Bool_t IsUsingDefaultColorSet() const
Check if the viewer is using the default color set.
Bool_t DoSelect(Int_t x, Int_t y)
Perform GL selection, picking objects overlapping WINDOW area described by 'rect'.
void PreDraw()
Perform GL work which must be done before each draw.
Float_t fStereoZeroParallax
draw quad buffer or left/right stereo in left/right half of window
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Calculate and return pixel distance to nearest viewer object from window location px,...
virtual void Render()
Normal rendering, used by mono and stereo rendering.
virtual void PostSceneBuildSetup(Bool_t resetCameras)
Perform post scene-build setup.
TGedEditor * GetGedEditor() const
Float_t fStereoEyeOffsetFac
position of zero-parallax plane: 0 - near clipping plane, 1 - far clipping plane
virtual ~TGLViewer()
Destroy viewer object.
Bool_t SavePictureUsingBB(const TString &fileName)
Save current image in various formats (gif, gif+, jpg, png).
Bool_t SavePicture()
Save current image using the default file name which can be set via SetPictureFileName() and defaults...
virtual void AddCompositeOp(UInt_t)
Float_t fFader
default file-name for SavePicture()
void SetSmoothPoints(Bool_t s)
virtual void PostRender()
Restore state set in PreRender().
void UpdateScene(Bool_t redraw=kTRUE)
Force update of pad-scenes.
void SetLineScale(Float_t s)
TGLOrthoCamera fOrthoZOXCamera
Bool_t SavePictureUsingFBO(const TString &fileName, Int_t w, Int_t h, Float_t pixel_object_scale=0)
Save current image in various formats (gif, gif+, jpg, png).
static void SetAxisLabelScale(Float_t als)
Sets static scaling facor that allows simple guide axies to have label values scaled relative to actu...
TGLOrthoCamera fOrthoXOZCamera
Bool_t GetClipAutoUpdate() const
virtual Bool_t CanLoopOnPrimitives() const
virtual void OverlayDragFinished()
An overlay operation can result in change to an object.
TGLOverlayElement * GetCurrentOvlElm() const
void SetMaxSceneDrawTimeHQ(Float_t t)
Bool_t SavePictureHeight(const TString &fileName, Int_t height, Bool_t pixel_object_scale=kTRUE)
Save picture with given height (width scaled proportionally).
void SetOrthoCamera(ECameraType camera, Double_t zoom, Double_t dolly, Double_t center[3], Double_t hRotate, Double_t vRotate)
Set an orthographic camera to supplied configuration - note this does not need to be the current came...
void DrawGuides()
Draw reference marker and coordinate axes.
void SetPointScale(Float_t s)
const TGLRect & RefViewport() const
void UseDefaultColorSet(Bool_t x)
Set usage of the default color set.
void SetStereoZeroParallax(Float_t f)
Float_t fMaxSceneDrawTimeHQ
timer for triggering redraws
Bool_t RequestSecondarySelect(Int_t x, Int_t y)
Request secondary select.
TGedEditor * fGedEditor
event handler
TGLSelectRecord & GetSelRec()
void SetViewport(Int_t x, Int_t y, Int_t width, Int_t height)
Set viewer viewport (window area) with bottom/left at (x,y), with dimensions 'width'/'height'.
Bool_t GetSmartRefresh() const
Float_t fPointScale
color-set with light background
TGLColorSet fLightColorSet
color-set with dark background
virtual Int_t AddObject(const TBuffer3D &, Bool_t *=nullptr)
void SetSmoothLines(Bool_t s)
virtual void PreRender()
Initialize objects that influence rendering.
virtual void UnMouseOver(TObject *obj, UInt_t state)
Emit UnMouseOver signal.
virtual void ResetCamerasAfterNextUpdate()
virtual void ReClicked(TObject *obj, UInt_t button, UInt_t state)
Emit ReClicked signal with button id and modifier state.
Bool_t fResetCamerasOnNextUpdate
Float_t GetLineScale() const
Bool_t fSmoothPoints
width scale for lines
void SetClipAutoUpdate(Bool_t x)
TGLOrthoCamera fOrthoZnOXCamera
Float_t fMaxSceneDrawTimeLQ
max time for scene rendering at high LOD (in ms)
Bool_t fSmoothLines
smooth point edge rendering
TGLManipSet * fSelectedPShapeRef
select record from last secondary select (should go to context)
void ClearCurrentOvlElm()
Reset current overlay-element to zero, eventually notifying the old one that the mouse has left.
Bool_t GetIgnoreSizesOnUpdate() const
void ApplySelection()
Process result from last selection (in fSelRec) and extract a new current selection from it.
TGLColorSet fDarkColorSet
viewport - drawn area
void InitSecondaryObjects()
Common initialization.
Bool_t DoSecondarySelect(Int_t x, Int_t y)
Secondary selection.
void UseDarkColorSet()
Use the dark color-set.
virtual Bool_t BuildingScene() const
virtual void SetGedEditor(TGedEditor *ed)
Bool_t RequestSelect(Int_t x, Int_t y)
Post request for selection render pass viewer, picking objects around the window point (x,...
void SetClearColor(Color_t col)
Set background method.
static Float_t fgAxisLabelScale
name says it all
Bool_t DoOverlaySelect(Int_t x, Int_t y)
Perform GL selection, picking overlay objects only.
Bool_t fDrawCameraCenter
reference position
void ReinitializeCurrentCamera(const TGLVector3 &hAxis, const TGLVector3 &vAxis, Bool_t redraw=kTRUE)
Change base-vectors defining the camera-base transformation of current camera.
Bool_t IsColorSetDark() const
Returns true if current color set is dark.
virtual void DoubleClicked()
Bool_t fIgnoreSizesOnUpdate
for embedded gl viewer
void PostDraw()
Perform GL work which must be done after each draw.
TGLAutoRotator * GetAutoRotator()
Get the auto-rotator for this viewer.
Bool_t GetResetCamerasOnUpdate() const
TGLPerspectiveCamera fPerspectiveCameraXOZ
const TGLPhysicalShape * GetSelected() const
Return selected physical shape.
Bool_t fSmartRefresh
markup size of viewport in scene units
Float_t fStereoFrustumAsymFac
Bool_t fDebugMode
cache logicals during scene rebuilds
TGLOrthoCamera fOrthoXnOYCamera
Float_t GetMaxSceneDrawTimeHQ() const
static Bool_t fgUseDefaultColorSetForNewViewers
a shared, default color-set
void GetGuideState(Int_t &axesType, Bool_t &axesDepthTest, Bool_t &referenceOn, Double_t *referencePos) const
Fetch the state of guides (axes & reference markers) into arguments.
TGLSelectRecord fCurrentSelRec
TGLViewer & operator=(const TGLViewer &)=delete
TGLViewer(const TGLViewer &)=delete
void SetPictureFileName(const TString &f)
virtual Bool_t OpenComposite(const TBuffer3D &, Bool_t *=nullptr)
void DoDrawMono(Bool_t swap_buffers)
Draw out in monoscopic mode.
Bool_t fStereoQuadBuf
use stereo rendering
virtual void BeginScene()
TGLContextIdentity * fGLCtxId
for embedded gl viewer
static void UseDefaultColorSetForNewViewers(Bool_t x)
Sets static flag that determines if new viewers should use the default color-set.
virtual Int_t AddObject(UInt_t, const TBuffer3D &, Bool_t *=nullptr)
const char * GetPictureFileName() const
TGLOvlSelectRecord fOvlSelRec
current overlay element
TGLOverlayElement * fCurrentOvlElm
void SetResetCamerasOnUpdate(Bool_t v)
void SwapBuffers() const
Swap GL buffers.
void ResetCurrentCamera()
Resets position/rotation of current camera to default values.
TGLWidget * GetGLWidget()
An abstract interface to image processing library.
Mother of all ROOT objects.
This is the ROOT implementation of the Qt object communication mechanism (see also http://www....
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
const char * Data() const
Handles synchronous and a-synchronous timer events.
virtual void TurnOff()
Remove timer from system timer list.
virtual void Start(Long_t milliSec=-1, Bool_t singleShot=kFALSE)
Starts the timer with a milliSec timeout.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Abstract 3D shapes viewer.