Wrapper class for various misc static functions - error checking, draw helpers etc.
Classes | |
class | TColorLocker |
class | TDrawQualityModifier |
class | TDrawQualityScaler |
Public Types | |
enum | EAxesType { kAxesNone , kAxesEdge , kAxesOrigin } |
enum | ELineHeadShape { kLineHeadNone , kLineHeadArrow , kLineHeadBox } |
Public Member Functions | |
virtual | ~TGLUtil () |
virtual TClass * | IsA () const |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static void | BeginAttLine (const TAttLine &aline, Char_t transp, Int_t pick_radius=0, Bool_t selection=kFALSE) |
Setup drawing parameters according to passed TAttLine. | |
static void | BeginExtendPickRegion (Float_t scale) |
static Int_t | CheckError (const char *loc) |
Check current GL error state, outputting details via ROOT Error method if one. | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static void | Color (const TGLColor &color) |
Set color from TGLColor. | |
static void | Color3f (Float_t r, Float_t g, Float_t b) |
Wrapper for glColor3f. | |
static void | Color3fv (const Float_t *rgb) |
Wrapper for glColor3fv. | |
static void | Color3ub (UChar_t r, UChar_t g, UChar_t b) |
Wrapper for glColor3ub. | |
static void | Color3ubv (const UChar_t *rgb) |
Wrapper for glColor3ubv. | |
static void | Color4f (Float_t r, Float_t g, Float_t b, Float_t a) |
Wrapper for glColor4f. | |
static void | Color4fv (const Float_t *rgba) |
Wrapper for glColor4fv. | |
static void | Color4ub (UChar_t r, UChar_t g, UChar_t b, UChar_t a) |
Wrapper for glColor4ub. | |
static void | Color4ubv (const UChar_t *rgba) |
Wrapper for glColor4ubv. | |
static void | ColorAlpha (Color_t color_index, Float_t alpha=1) |
Set color from color_index and GL-style alpha (default 1). | |
static void | ColorAlpha (const TGLColor &color, Float_t alpha) |
Set color from TGLColor and alpha value. | |
static void | ColorAlpha (const TGLColor &color, UChar_t alpha) |
Set color from TGLColor and alpha value. | |
static void | ColorTransparency (Color_t color_index, Char_t transparency=0) |
Set color from color_index and ROOT-style transparency (default 0). | |
static const char * | DeclFileName () |
static void | DrawLine (const TGLLine3 &line, ELineHeadShape head, Double_t size, const UChar_t rgba[4]) |
Draw thick line (tube) defined by 'line', with head at end shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'. | |
static void | DrawLine (const TGLVertex3 &start, const TGLVector3 &vector, ELineHeadShape head, Double_t size, const UChar_t rgba[4]) |
Draw thick line (tube) running from 'start', length 'vector', with head at end of shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'. | |
static void | DrawNumber (const TString &num, const TGLVertex3 &pos, Bool_t center=kFALSE) |
Draw number in string 'num' via internal 8x8-pixel bitmap on vertex 'pos'. | |
static void | DrawReferenceMarker (const TGLCamera &camera, const TGLVertex3 &pos, Float_t radius=3, const UChar_t *rgba=nullptr) |
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'. | |
static void | DrawRing (const TGLVertex3 ¢er, const TGLVector3 &normal, Double_t radius, const UChar_t *rgba) |
Draw ring, centered on 'center', lying on plane defined by 'center' & 'normal' of outer radius 'radius', color 'rgba'. | |
static void | DrawSimpleAxes (const TGLCamera &camera, const TGLBoundingBox &bbox, Int_t axesType, Float_t labelScale=1) |
Draw simple xyz-axes for given bounding-box. | |
static void | DrawSphere (const TGLVertex3 &position, Double_t radius, const UChar_t rgba[4]) |
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'. | |
static void | EndAttLine (Int_t pick_radius=0, Bool_t selection=kFALSE) |
Restore previous line drawing state. | |
static void | EndExtendPickRegion () |
static UInt_t | GetDefaultDrawQuality () |
static: get default draw quality | |
static UInt_t | GetDrawQuality () |
static: get draw quality | |
static GLUtesselator * | GetDrawTesselator3dv () |
Returns a tesselator for direct drawing when using 3-vertices with double precision. | |
static GLUtesselator * | GetDrawTesselator3fv () |
Returns a tesselator for direct drawing when using 3-vertices with single precision. | |
static GLUtesselator * | GetDrawTesselator4dv () |
Returns a tesselator for direct drawing when using 4-vertices with double precision. | |
static GLUtesselator * | GetDrawTesselator4fv () |
Returns a tesselator for direct drawing when using 4-vertices with single precision. | |
static Float_t | GetLineWidthScale () |
Returns global line-width scale. | |
static Int_t | GetPickingRadius () |
Returns picking radius. | |
static Float_t | GetPointLineScalingFactor () |
Return extra scaling factor for points and lines. | |
static Float_t | GetPointSizeScale () |
Get global point-size scale. | |
static Float_t | GetScreenScalingFactor () |
Returns scaling factor between screen points and GL viewport pixels. | |
static void | InitializeIfNeeded () |
Initialize globals that require other libraries to be initialized. | |
static Bool_t | IsColorLocked () |
Returns true if color lock-count is greater than 0. | |
static Float_t | LineWidth () |
Get the line-width, taking the global scaling into account. | |
static void | LineWidth (Float_t line_width) |
Set the line-width, taking the global scaling into account. | |
static UInt_t | LockColor () |
Prevent further color changes. | |
static Float_t | PointSize () |
Get the point-size, taking the global scaling into account. | |
static void | PointSize (Float_t point_size) |
Set the point-size, taking the global scaling into account. | |
static void | PointToViewport (Int_t &x, Int_t &y) |
Convert from point/screen coordinates to GL viewport coordinates. | |
static void | PointToViewport (Int_t &x, Int_t &y, Int_t &w, Int_t &h) |
Convert from point/screen coordinates to GL viewport coordinates. | |
static void | RenderCrosses (const TAttMarker &marker, const std::vector< Double_t > &points, Double_t dX, Double_t dY, Double_t dZ) |
Render markers as crosses. | |
static void | RenderCrosses (const TAttMarker &marker, Float_t *p, Int_t n, Bool_t sec_selection=kFALSE) |
Render markers as crosses. | |
static void | RenderPoints (const TAttMarker &marker, const std::vector< Double_t > &points) |
Render markers as circular or square points. | |
static void | RenderPoints (const TAttMarker &marker, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE) |
Render markers as circular or square points. | |
static void | RenderPolyLine (const TAttLine &aline, Char_t transp, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE) |
Render poly-line as specified by the p-array. | |
static void | RenderPolyMarkers (const TAttMarker &marker, Char_t transp, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE) |
Render polymarkers at points specified by p-array. | |
static void | RenderPolyMarkers (const TAttMarker &marker, const std::vector< Double_t > &points, Double_t dX, Double_t dY, Double_t dZ) |
Render polymarkers at points specified by p-array. | |
static void | ResetDrawQuality () |
static: reset draw quality | |
static void | SetDefaultDrawQuality (UInt_t dq) |
static: set default draw quality | |
static void | SetDrawColors (const UChar_t rgba[4]) |
Set basic draw colors from 4 component 'rgba' Used by other TGLUtil drawing routines. | |
static void | SetDrawQuality (UInt_t dq) |
static: set draw quality | |
static void | SetLineWidthScale (Float_t scale) |
Set global line-width scale. | |
static void | SetPointSizeScale (Float_t scale) |
Set global point-size scale. | |
static void | SetSimpleAxisBBoxScale (Float_t s) |
static void | SetSimpleAxisWidthScale (Float_t s) |
static UInt_t | UnlockColor () |
Allow color changes. | |
Static Public Attributes | |
static const UChar_t | fgBlue [4] = { 0, 0, 230, 255 } |
static const UChar_t | fgGreen [4] = { 0, 230, 0, 255 } |
static const UChar_t | fgGrey [4] = { 128, 128, 128, 100 } |
static const UChar_t | fgRed [4] = { 230, 0, 0, 255 } |
static const UChar_t | fgWhite [4] = { 255, 255, 255, 255 } |
static const UChar_t | fgYellow [4] = { 210, 210, 0, 255 } |
Private Member Functions | |
TGLUtil (const TGLUtil &) | |
TGLUtil & | operator= (const TGLUtil &) |
Static Private Attributes | |
static UInt_t | fgColorLockCount = 0 |
static UInt_t | fgDefaultDrawQuality = 10 |
static UInt_t | fgDrawQuality = fgDefaultDrawQuality |
static Float_t | fgLineWidth = 1.0f |
static Float_t | fgLineWidthScale = 1.0f |
static Int_t | fgPickingRadius = 1 |
static Float_t | fgPointLineScalingFactor = 1.0f |
static Float_t | fgPointSize = 1.0f |
static Float_t | fgPointSizeScale = 1.0f |
static Float_t | fgScreenScalingFactor = 1.0f |
static Float_t | fgSimpleAxisBBoxScale = 1.0f |
static Float_t | fgSimpleAxisWidthScale = 1.0f |
#include <TGLUtil.h>
enum TGLUtil::EAxesType |
|
private |
|
static |
Setup drawing parameters according to passed TAttLine.
Definition at line 2272 of file TGLUtil.cxx.
|
static |
Definition at line 1952 of file TGLUtil.cxx.
|
static |
Check current GL error state, outputting details via ROOT Error method if one.
Definition at line 1646 of file TGLUtil.cxx.
|
static |
|
inlinestaticconstexpr |
|
static |
Set color from TGLColor.
Definition at line 1697 of file TGLUtil.cxx.
Wrapper for glColor3f.
Definition at line 1787 of file TGLUtil.cxx.
|
static |
Wrapper for glColor3fv.
Definition at line 1803 of file TGLUtil.cxx.
Wrapper for glColor3ub.
Definition at line 1755 of file TGLUtil.cxx.
|
static |
Wrapper for glColor3ubv.
Definition at line 1771 of file TGLUtil.cxx.
Wrapper for glColor4f.
Definition at line 1795 of file TGLUtil.cxx.
|
static |
Wrapper for glColor4fv.
Definition at line 1811 of file TGLUtil.cxx.
Wrapper for glColor4ub.
Definition at line 1763 of file TGLUtil.cxx.
|
static |
Wrapper for glColor4ubv.
Definition at line 1779 of file TGLUtil.cxx.
Set color from color_index and GL-style alpha (default 1).
Definition at line 1727 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1716 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1705 of file TGLUtil.cxx.
Set color from color_index and ROOT-style transparency (default 0).
Definition at line 1741 of file TGLUtil.cxx.
|
inlinestatic |
|
static |
Draw thick line (tube) defined by 'line', with head at end shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'.
Definition at line 2372 of file TGLUtil.cxx.
|
static |
Draw thick line (tube) running from 'start', length 'vector', with head at end of shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'.
Definition at line 2383 of file TGLUtil.cxx.
|
static |
Draw number in string 'num' via internal 8x8-pixel bitmap on vertex 'pos'.
If 'center' is true, the number is centered on 'pos'. Only numbers, '.', '-' and ' ' are supported.
Definition at line 2637 of file TGLUtil.cxx.
|
static |
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'.
Color argument is optional.
Definition at line 2479 of file TGLUtil.cxx.
|
static |
Draw ring, centered on 'center', lying on plane defined by 'center' & 'normal' of outer radius 'radius', color 'rgba'.
Definition at line 2438 of file TGLUtil.cxx.
|
static |
Draw simple xyz-axes for given bounding-box.
Definition at line 2494 of file TGLUtil.cxx.
|
static |
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'.
Definition at line 2357 of file TGLUtil.cxx.
Restore previous line drawing state.
Definition at line 2308 of file TGLUtil.cxx.
|
static |
Definition at line 1967 of file TGLUtil.cxx.
|
static |
static: get default draw quality
Definition at line 1629 of file TGLUtil.cxx.
|
static |
static: get draw quality
Definition at line 1605 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with double precision.
Definition at line 1540 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with single precision.
Definition at line 1498 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with double precision.
Definition at line 1561 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with single precision.
Definition at line 1519 of file TGLUtil.cxx.
|
static |
Returns global line-width scale.
Definition at line 1899 of file TGLUtil.cxx.
|
static |
Returns picking radius.
Definition at line 1871 of file TGLUtil.cxx.
|
static |
Return extra scaling factor for points and lines.
By default this is set to the same value as ScreenScalingFactor to keep the same appearance. To override use rootrc entry, e.g.: OpenGL.PointLineScalingFactor: 1.0
Definition at line 1863 of file TGLUtil.cxx.
|
static |
Get global point-size scale.
Definition at line 1883 of file TGLUtil.cxx.
|
static |
Returns scaling factor between screen points and GL viewport pixels.
This is what is returned by gVirtualX->GetOpenGLScalingFactor() but is cached here to avoid a virtual function call as it is used quite often in TGLPhysical shape when drawing the selection highlight.
Definition at line 1852 of file TGLUtil.cxx.
|
static |
Initialize globals that require other libraries to be initialized.
This is called from TGLWidget creation function.
Definition at line 1582 of file TGLUtil.cxx.
|
inlinevirtual |
|
static |
Returns true if color lock-count is greater than 0.
Definition at line 1689 of file TGLUtil.cxx.
|
static |
Get the line-width, taking the global scaling into account.
Definition at line 1943 of file TGLUtil.cxx.
|
static |
Set the line-width, taking the global scaling into account.
Wrapper for glLineWidth.
Definition at line 1926 of file TGLUtil.cxx.
|
static |
Prevent further color changes.
Definition at line 1669 of file TGLUtil.cxx.
|
static |
Get the point-size, taking the global scaling into account.
Definition at line 1935 of file TGLUtil.cxx.
|
static |
Set the point-size, taking the global scaling into account.
Wrapper for glPointSize.
Definition at line 1916 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1823 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1835 of file TGLUtil.cxx.
|
static |
|
static |
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2091 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2020 of file TGLUtil.cxx.
|
static |
Render poly-line as specified by the p-array.
Definition at line 2252 of file TGLUtil.cxx.
|
static |
Render polymarkers at points specified by p-array.
Supports point and cross-like styles.
Definition at line 1980 of file TGLUtil.cxx.
|
static |
Render polymarkers at points specified by p-array.
Supports point and cross-like styles. Color is set externally. Lighting is disabled externally.
Definition at line 2006 of file TGLUtil.cxx.
|
static |
static: reset draw quality
Definition at line 1621 of file TGLUtil.cxx.
|
static |
static: set default draw quality
Definition at line 1637 of file TGLUtil.cxx.
|
static |
Set basic draw colors from 4 component 'rgba' Used by other TGLUtil drawing routines.
Sets basic (unlit) color - glColor and also GL materials (see OpenGL docs) thus:
diffuse : rgba ambient : 0.0 0.0 0.0 1.0 specular : 0.6 0.6 0.6 1.0 emission : rgba/4.0 shininess: 60.0
emission is set so objects with no lights (but lighting still enabled) are partially visible
Definition at line 2336 of file TGLUtil.cxx.
|
static |
static: set draw quality
Definition at line 1613 of file TGLUtil.cxx.
|
static |
Set global line-width scale.
Definition at line 1907 of file TGLUtil.cxx.
|
static |
Set global point-size scale.
Definition at line 1891 of file TGLUtil.cxx.
|
static |
Definition at line 1428 of file TGLUtil.cxx.
|
static |
Definition at line 1427 of file TGLUtil.cxx.
|
virtual |
|
inline |
|
static |
Allow color changes.
Definition at line 1677 of file TGLUtil.cxx.
|
static |
|
staticprivate |
|
static |
|
static |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
static |
|
static |