The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the ROOT's OpenGL infrastructure.
It serves as a connecting point between the steering part of the infrastructure (viewer, scene) and concrete rendering classes (logical, physical shape). It is just a data-holder, there is no functionality in it.
Development notes:
One RnrCtx is created by each viewer and it is just an extension of the viewer context that changes along the render descend. Separating this also has some abstract benefit of hiding viewer implementation from those that do not need to know it.
Current scene / scene-info part is always initialized by viewer, scenes can assume they're ok.
Definition at line 40 of file TGLRnrCtx.h.
Public Types | |
enum | ELODPresets { kLODUndef = -1 , kLODPixel = 0 , kLODLow = 20 , kLODMed = 50 , kLODHigh = 100 } |
enum | EPass { kPassUndef = -1 , kPassFill , kPassOutlineFill , kPassOutlineLine , kPassWireFrame } |
enum | ESelectabilityOfTransparents { kIfNoOpaques = 0 , kIfClosest , kNever } |
enum | EShapeSelectionLevel { kSSLNotSelected , kSSLSelected , kSSLImpliedSelected , kSSLHighlighted , kSSLImpliedHighlighted , kSSLEnd } |
enum | EStyle { kStyleUndef = -1 , kFill , kOutline , kWireFrame } |
Public Member Functions | |
TGLRnrCtx (TGLViewerBase *viewer) | |
virtual | ~TGLRnrCtx () |
Destructor. | |
void | BeginSelection (Int_t x, Int_t y, Int_t r=3) |
Setup context for running selection. | |
TGLColorSet * | ChangeBaseColorSet (TGLColorSet *set) |
Change the default/bottom color-set. | |
TGLClip * | Clip () const |
void | CloseDLCapture () |
End display list capture. | |
void | ColorOrForeground (Color_t col) |
Set col if it is different from background, otherwise use current foreground color. | |
TGLColorSet & | ColorSet () |
Return reference to current color-set (top of the stack). | |
Short_t | CombiLOD () const |
Short_t | DrawPass () const |
void | EndSelection (Int_t glResult) |
End selection. | |
TGLColorSet * | GetBaseColorSet () |
Returns the current base color-set. | |
TGLCamera * | GetCamera () |
const TGLCamera * | GetCamera () const |
UInt_t | GetEventKeySym () const |
TGLContextIdentity * | GetGLCtxIdentity () const |
GLUquadric * | GetGluQuadric () |
Initialize fQuadric. | |
Bool_t | GetGrabImage () const |
Int_t | GetPickRadius () |
Return pick radius. If selection is not active it returns 0. | |
TGLRect * | GetPickRectangle () |
Return current pick rectangle. | |
Float_t | GetRenderScale () const |
TGLSceneBase * | GetScene () |
Return current scene (based on scene-info data). | |
TGLSceneInfo * | GetSceneInfo () |
TGLSelectBuffer * | GetSelectBuffer () const |
TGLViewerBase * | GetViewer () |
Bool_t | HasClip () const |
Bool_t | HasStopwatchTimedOut () |
Check if the stopwatch went beyond the render time limit. | |
Bool_t | Highlight () const |
Bool_t | HighlightOutline () const |
virtual TClass * | IsA () const |
Bool_t | IsDLCaptureOpen () const |
Bool_t | IsDrawPassFilled () const |
Returns true if current render-pass uses filled polygon style. | |
Bool_t | IsDrawPassOutlineLine () const |
Bool_t | IsStopwatchRunning () const |
void | OpenDLCapture () |
Start display-list capture. | |
void | PopColorSet () |
Pops the top-most color-set. | |
void | ProjectionMatrixPop () |
void | ProjectionMatrixPushIdentity () |
void | PushColorSet () |
Create copy of current color-set on the top of the stack. | |
TGLCamera & | RefCamera () |
const TGLCamera & | RefCamera () const |
TGLSceneBase & | RefScene () |
Return current scene (based on scene-info data). | |
TGLSceneInfo & | RefSceneInfo () |
TGLViewerBase & | RefViewer () |
void | RegisterFont (Int_t size, const char *name, Int_t mode, TGLFont &out) |
Get font in the GL rendering context. | |
void | RegisterFont (Int_t size, Int_t file, Int_t mode, TGLFont &out) |
Get font in the GL rendering context. | |
void | RegisterFontNoScale (Int_t size, const char *name, Int_t mode, TGLFont &out) |
Get font in the GL rendering context. | |
void | RegisterFontNoScale (Int_t size, Int_t file, Int_t mode, TGLFont &out) |
Get font in the GL rendering context. | |
void | ReleaseFont (TGLFont &font) |
Release font in the GL rendering context. | |
Double_t | RenderTimeOut () const |
TGLClip * | SceneClip () const |
Short_t | SceneLOD () const |
Float_t | SceneOLLineW () const |
Short_t | SceneStyle () const |
Float_t | SceneWFLineW () const |
Bool_t | SecSelection () const |
Bool_t | Selection () const |
Short_t | SelectTransparents () const |
void | SetCamera (TGLCamera *c) |
void | SetClip (TGLClip *p) |
void | SetCombiLOD (Short_t LOD) |
void | SetDrawPass (Short_t dpass) |
void | SetEventKeySym (UInt_t k) |
void | SetGLCtxIdentity (TGLContextIdentity *cid) |
void | SetGrabImage (Bool_t gi) |
void | SetHighlight (Bool_t hil) |
void | SetHighlightOutline (Bool_t ho) |
void | SetRenderScale (Float_t s) |
void | SetRenderTimeOut (Double_t tout) |
void | SetSceneClip (TGLClip *p) |
void | SetSceneInfo (TGLSceneInfo *si) |
void | SetSceneLOD (Short_t LOD) |
void | SetSceneOLLineW (Float_t w) |
void | SetSceneStyle (Short_t sty) |
void | SetSceneWFLineW (Float_t w) |
void | SetSecSelection (Bool_t secSel) |
void | SetSelection (Bool_t sel) |
void | SetSelectTransparents (Short_t st) |
void | SetShapeLOD (Short_t LOD) |
void | SetShapePixSize (Float_t ps) |
void | SetViewerClip (TGLClip *p) |
void | SetViewerLOD (Short_t LOD) |
void | SetViewerOLLineW (Float_t w) |
void | SetViewerStyle (Short_t sty) |
void | SetViewerWFLineW (Float_t w) |
Short_t | ShapeLOD () const |
Float_t | ShapePixSize () const |
void | StartStopwatch () |
Start the stopwatch. | |
void | StopStopwatch () |
Stop the stopwatch. | |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
TGLClip * | ViewerClip () const |
Short_t | ViewerLOD () const |
Float_t | ViewerOLLineW () const |
Short_t | ViewerStyle () const |
Float_t | ViewerWFLineW () const |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static const char * | StyleName (Short_t style) |
Return string describing the style. | |
Protected Attributes | |
TGLCamera * | fCamera |
TGLClip * | fClip |
lpTGLColorSet_t * | fColorSetStack |
Short_t | fCombiLOD |
Bool_t | fDLCaptureOpen |
Short_t | fDrawPass |
UInt_t | fEventKeySym |
TGLContextIdentity * | fGLCtxIdentity |
DL-capture currently open. | |
UChar_t * | fGrabbedImage |
Int_t | fGrabBuffer |
Bool_t | fGrabImage |
Bool_t | fHasTimedOut |
Bool_t | fHighlight |
Bool_t | fHighlightOutline |
Bool_t | fIsRunning |
Int_t | fPickRadius |
TGLRect * | fPickRectangle |
GLUquadric * | fQuadric |
Current GL context identity. | |
Float_t | fRenderScale |
Double_t | fRenderTimeOut |
TGLClip * | fSceneClip |
TGLSceneInfo * | fSceneInfo |
Short_t | fSceneLOD |
Float_t | fSceneOLLineW |
Short_t | fSceneStyle |
Float_t | fSceneWFLineW |
Bool_t | fSecSelection |
TGLSelectBuffer * | fSelectBuffer |
Bool_t | fSelection |
Short_t | fSelectTransparents |
Short_t | fShapeLOD |
Float_t | fShapePixSize |
TGLStopwatch | fStopwatch |
TGLViewerBase * | fViewer |
TGLClip * | fViewerClip |
Short_t | fViewerLOD |
Float_t | fViewerOLLineW |
Short_t | fViewerStyle |
Float_t | fViewerWFLineW |
Private Types | |
typedef std::list< TGLColorSet * > | lpTGLColorSet_t |
Private Member Functions | |
TGLRnrCtx (const TGLRnrCtx &) | |
TGLRnrCtx & | operator= (const TGLRnrCtx &) |
#include <TGLRnrCtx.h>
|
private |
Definition at line 91 of file TGLRnrCtx.h.
Enumerator | |
---|---|
kLODUndef | |
kLODPixel | |
kLODLow | |
kLODMed | |
kLODHigh |
Definition at line 61 of file TGLRnrCtx.h.
enum TGLRnrCtx::EPass |
Enumerator | |
---|---|
kPassUndef | |
kPassFill | |
kPassOutlineFill | |
kPassOutlineLine | |
kPassWireFrame |
Definition at line 52 of file TGLRnrCtx.h.
Enumerator | |
---|---|
kIfNoOpaques | |
kIfClosest | |
kNever |
Definition at line 80 of file TGLRnrCtx.h.
Enumerator | |
---|---|
kSSLNotSelected | |
kSSLSelected | |
kSSLImpliedSelected | |
kSSLHighlighted | |
kSSLImpliedHighlighted | |
kSSLEnd |
Definition at line 70 of file TGLRnrCtx.h.
enum TGLRnrCtx::EStyle |
Enumerator | |
---|---|
kStyleUndef | |
kFill | |
kOutline | |
kWireFrame |
Definition at line 43 of file TGLRnrCtx.h.
|
private |
TGLRnrCtx::TGLRnrCtx | ( | TGLViewerBase * | viewer | ) |
Definition at line 55 of file TGLRnrCtx.cxx.
|
virtual |
Destructor.
Definition at line 122 of file TGLRnrCtx.cxx.
Setup context for running selection.
x and y are in window coordinates.
Definition at line 203 of file TGLRnrCtx.cxx.
TGLColorSet * TGLRnrCtx::ChangeBaseColorSet | ( | TGLColorSet * | set | ) |
Change the default/bottom color-set.
Returns the previous color-set.
Definition at line 302 of file TGLRnrCtx.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 273 of file TGLRnrCtx.h.
|
inline |
Definition at line 200 of file TGLRnrCtx.h.
void TGLRnrCtx::CloseDLCapture | ( | ) |
End display list capture.
Definition at line 345 of file TGLRnrCtx.cxx.
void TGLRnrCtx::ColorOrForeground | ( | Color_t | col | ) |
Set col if it is different from background, otherwise use current foreground color.
Definition at line 321 of file TGLRnrCtx.cxx.
TGLColorSet & TGLRnrCtx::ColorSet | ( | ) |
Return reference to current color-set (top of the stack).
Definition at line 276 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 175 of file TGLRnrCtx.h.
|
inlinestatic |
Definition at line 273 of file TGLRnrCtx.h.
|
inline |
Definition at line 204 of file TGLRnrCtx.h.
void TGLRnrCtx::EndSelection | ( | Int_t | glResult | ) |
End selection.
Definition at line 217 of file TGLRnrCtx.cxx.
TGLColorSet * TGLRnrCtx::GetBaseColorSet | ( | ) |
Returns the current base color-set.
Definition at line 312 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 156 of file TGLRnrCtx.h.
|
inline |
Definition at line 164 of file TGLRnrCtx.h.
|
inline |
Definition at line 247 of file TGLRnrCtx.h.
|
inline |
Definition at line 254 of file TGLRnrCtx.h.
GLUquadric * TGLRnrCtx::GetGluQuadric | ( | ) |
Initialize fQuadric.
Definition at line 403 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 267 of file TGLRnrCtx.h.
Int_t TGLRnrCtx::GetPickRadius | ( | ) |
Return pick radius. If selection is not active it returns 0.
Definition at line 255 of file TGLRnrCtx.cxx.
TGLRect * TGLRnrCtx::GetPickRectangle | ( | ) |
Return current pick rectangle.
This is zero when selection is not set.
Definition at line 247 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 244 of file TGLRnrCtx.h.
TGLSceneBase * TGLRnrCtx::GetScene | ( | ) |
Return current scene (based on scene-info data).
Definition at line 133 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 158 of file TGLRnrCtx.h.
|
inline |
Definition at line 231 of file TGLRnrCtx.h.
|
inline |
Definition at line 154 of file TGLRnrCtx.h.
|
inline |
Definition at line 202 of file TGLRnrCtx.h.
Bool_t TGLRnrCtx::HasStopwatchTimedOut | ( | ) |
Check if the stopwatch went beyond the render time limit.
Definition at line 186 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 218 of file TGLRnrCtx.h.
|
inline |
Definition at line 220 of file TGLRnrCtx.h.
|
inlinevirtual |
Definition at line 273 of file TGLRnrCtx.h.
|
inline |
Definition at line 250 of file TGLRnrCtx.h.
Bool_t TGLRnrCtx::IsDrawPassFilled | ( | ) | const |
Returns true if current render-pass uses filled polygon style.
Definition at line 151 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 207 of file TGLRnrCtx.h.
|
inline |
Definition at line 214 of file TGLRnrCtx.h.
void TGLRnrCtx::OpenDLCapture | ( | ) |
Start display-list capture.
Definition at line 336 of file TGLRnrCtx.cxx.
void TGLRnrCtx::PopColorSet | ( | ) |
Pops the top-most color-set.
If only one entry is available, error is printed and the entry remains.
Definition at line 285 of file TGLRnrCtx.cxx.
void TGLRnrCtx::ProjectionMatrixPop | ( | ) |
Definition at line 436 of file TGLRnrCtx.cxx.
void TGLRnrCtx::ProjectionMatrixPushIdentity | ( | ) |
Definition at line 421 of file TGLRnrCtx.cxx.
void TGLRnrCtx::PushColorSet | ( | ) |
Create copy of current color-set on the top of the stack.
Definition at line 268 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 157 of file TGLRnrCtx.h.
|
inline |
Definition at line 163 of file TGLRnrCtx.h.
TGLSceneBase & TGLRnrCtx::RefScene | ( | ) |
Return current scene (based on scene-info data).
Definition at line 141 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 159 of file TGLRnrCtx.h.
|
inline |
Definition at line 155 of file TGLRnrCtx.h.
Get font in the GL rendering context.
The font is scaled relative to current render scale.
Definition at line 391 of file TGLRnrCtx.cxx.
Get font in the GL rendering context.
The font is scaled relative to current render scale.
Definition at line 382 of file TGLRnrCtx.cxx.
Get font in the GL rendering context.
Definition at line 373 of file TGLRnrCtx.cxx.
Get font in the GL rendering context.
Definition at line 365 of file TGLRnrCtx.cxx.
void TGLRnrCtx::ReleaseFont | ( | TGLFont & | font | ) |
Release font in the GL rendering context.
Definition at line 357 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 210 of file TGLRnrCtx.h.
|
inline |
Definition at line 198 of file TGLRnrCtx.h.
|
inline |
Definition at line 173 of file TGLRnrCtx.h.
|
inline |
Definition at line 193 of file TGLRnrCtx.h.
|
inline |
Definition at line 184 of file TGLRnrCtx.h.
|
inline |
Definition at line 189 of file TGLRnrCtx.h.
|
inline |
Definition at line 224 of file TGLRnrCtx.h.
|
inline |
Definition at line 222 of file TGLRnrCtx.h.
|
inline |
Definition at line 227 of file TGLRnrCtx.h.
|
inline |
Definition at line 167 of file TGLRnrCtx.h.
|
inline |
Definition at line 201 of file TGLRnrCtx.h.
|
inline |
Definition at line 176 of file TGLRnrCtx.h.
|
inline |
Definition at line 205 of file TGLRnrCtx.h.
|
inline |
Definition at line 248 of file TGLRnrCtx.h.
|
inline |
Definition at line 255 of file TGLRnrCtx.h.
|
inline |
Definition at line 266 of file TGLRnrCtx.h.
|
inline |
Definition at line 219 of file TGLRnrCtx.h.
|
inline |
Definition at line 221 of file TGLRnrCtx.h.
|
inline |
Definition at line 245 of file TGLRnrCtx.h.
|
inline |
Definition at line 211 of file TGLRnrCtx.h.
|
inline |
Definition at line 199 of file TGLRnrCtx.h.
|
inline |
Definition at line 168 of file TGLRnrCtx.h.
|
inline |
Definition at line 174 of file TGLRnrCtx.h.
|
inline |
Definition at line 194 of file TGLRnrCtx.h.
|
inline |
Definition at line 185 of file TGLRnrCtx.h.
|
inline |
Definition at line 190 of file TGLRnrCtx.h.
|
inline |
Definition at line 225 of file TGLRnrCtx.h.
|
inline |
Definition at line 223 of file TGLRnrCtx.h.
|
inline |
Definition at line 228 of file TGLRnrCtx.h.
|
inline |
Definition at line 178 of file TGLRnrCtx.h.
|
inline |
Definition at line 180 of file TGLRnrCtx.h.
|
inline |
Definition at line 197 of file TGLRnrCtx.h.
|
inline |
Definition at line 172 of file TGLRnrCtx.h.
|
inline |
Definition at line 192 of file TGLRnrCtx.h.
|
inline |
Definition at line 183 of file TGLRnrCtx.h.
|
inline |
Definition at line 188 of file TGLRnrCtx.h.
|
inline |
Definition at line 177 of file TGLRnrCtx.h.
|
inline |
Definition at line 179 of file TGLRnrCtx.h.
void TGLRnrCtx::StartStopwatch | ( | ) |
Start the stopwatch.
Definition at line 164 of file TGLRnrCtx.cxx.
void TGLRnrCtx::StopStopwatch | ( | ) |
Stop the stopwatch.
Definition at line 177 of file TGLRnrCtx.cxx.
|
virtual |
|
inline |
Definition at line 273 of file TGLRnrCtx.h.
|
static |
Return string describing the style.
Definition at line 451 of file TGLRnrCtx.cxx.
|
inline |
Definition at line 196 of file TGLRnrCtx.h.
|
inline |
Definition at line 171 of file TGLRnrCtx.h.
|
inline |
Definition at line 191 of file TGLRnrCtx.h.
|
inline |
Definition at line 182 of file TGLRnrCtx.h.
|
inline |
Definition at line 187 of file TGLRnrCtx.h.
|
protected |
Definition at line 95 of file TGLRnrCtx.h.
|
protected |
Definition at line 114 of file TGLRnrCtx.h.
|
protected |
Definition at line 133 of file TGLRnrCtx.h.
|
protected |
Definition at line 100 of file TGLRnrCtx.h.
|
protected |
Definition at line 139 of file TGLRnrCtx.h.
|
protected |
Definition at line 116 of file TGLRnrCtx.h.
|
protected |
Definition at line 136 of file TGLRnrCtx.h.
|
protected |
DL-capture currently open.
Definition at line 140 of file TGLRnrCtx.h.
|
protected |
Definition at line 147 of file TGLRnrCtx.h.
|
protected |
Definition at line 146 of file TGLRnrCtx.h.
|
protected |
Definition at line 145 of file TGLRnrCtx.h.
|
protected |
Definition at line 121 of file TGLRnrCtx.h.
|
protected |
Definition at line 124 of file TGLRnrCtx.h.
|
protected |
Definition at line 125 of file TGLRnrCtx.h.
|
protected |
Definition at line 120 of file TGLRnrCtx.h.
|
protected |
Definition at line 129 of file TGLRnrCtx.h.
|
protected |
Definition at line 130 of file TGLRnrCtx.h.
|
protected |
Current GL context identity.
Definition at line 142 of file TGLRnrCtx.h.
|
protected |
Definition at line 134 of file TGLRnrCtx.h.
|
protected |
Definition at line 119 of file TGLRnrCtx.h.
|
protected |
Definition at line 113 of file TGLRnrCtx.h.
|
protected |
Definition at line 96 of file TGLRnrCtx.h.
|
protected |
Definition at line 99 of file TGLRnrCtx.h.
|
protected |
Definition at line 110 of file TGLRnrCtx.h.
|
protected |
Definition at line 105 of file TGLRnrCtx.h.
|
protected |
Definition at line 108 of file TGLRnrCtx.h.
|
protected |
Definition at line 127 of file TGLRnrCtx.h.
|
protected |
Definition at line 131 of file TGLRnrCtx.h.
|
protected |
Definition at line 126 of file TGLRnrCtx.h.
|
protected |
Definition at line 128 of file TGLRnrCtx.h.
|
protected |
Definition at line 101 of file TGLRnrCtx.h.
|
protected |
Definition at line 102 of file TGLRnrCtx.h.
|
protected |
Definition at line 118 of file TGLRnrCtx.h.
|
protected |
Definition at line 94 of file TGLRnrCtx.h.
|
protected |
Definition at line 112 of file TGLRnrCtx.h.
|
protected |
Definition at line 98 of file TGLRnrCtx.h.
|
protected |
Definition at line 109 of file TGLRnrCtx.h.
|
protected |
Definition at line 104 of file TGLRnrCtx.h.
|
protected |
Definition at line 107 of file TGLRnrCtx.h.