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 &)=delete | |
TGLUtil & | operator= (const TGLUtil &)=delete |
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>
|
static |
Setup drawing parameters according to passed TAttLine.
Definition at line 2263 of file TGLUtil.cxx.
|
static |
Definition at line 1943 of file TGLUtil.cxx.
Check current GL error state, outputting details via ROOT Error method if one.
Definition at line 1637 of file TGLUtil.cxx.
Set color from TGLColor.
Definition at line 1688 of file TGLUtil.cxx.
Wrapper for glColor3f.
Definition at line 1778 of file TGLUtil.cxx.
Wrapper for glColor3fv.
Definition at line 1794 of file TGLUtil.cxx.
Wrapper for glColor3ub.
Definition at line 1746 of file TGLUtil.cxx.
Wrapper for glColor3ubv.
Definition at line 1762 of file TGLUtil.cxx.
Wrapper for glColor4f.
Definition at line 1786 of file TGLUtil.cxx.
Wrapper for glColor4fv.
Definition at line 1802 of file TGLUtil.cxx.
Wrapper for glColor4ub.
Definition at line 1754 of file TGLUtil.cxx.
Wrapper for glColor4ubv.
Definition at line 1770 of file TGLUtil.cxx.
Set color from color_index and GL-style alpha (default 1).
Definition at line 1718 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1707 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1696 of file TGLUtil.cxx.
Set color from color_index and ROOT-style transparency (default 0).
Definition at line 1732 of file TGLUtil.cxx.
|
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 2363 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 2374 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 2628 of file TGLUtil.cxx.
|
static |
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'.
Color argument is optional.
Definition at line 2470 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 2429 of file TGLUtil.cxx.
|
static |
Draw simple xyz-axes for given bounding-box.
Definition at line 2485 of file TGLUtil.cxx.
|
static |
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'.
Definition at line 2348 of file TGLUtil.cxx.
Restore previous line drawing state.
Definition at line 2299 of file TGLUtil.cxx.
|
static |
Definition at line 1958 of file TGLUtil.cxx.
|
static |
static: get default draw quality
Definition at line 1620 of file TGLUtil.cxx.
|
static |
static: get draw quality
Definition at line 1596 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with double precision.
Definition at line 1531 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with single precision.
Definition at line 1489 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with double precision.
Definition at line 1552 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with single precision.
Definition at line 1510 of file TGLUtil.cxx.
|
static |
Returns global line-width scale.
Definition at line 1890 of file TGLUtil.cxx.
|
static |
Returns picking radius.
Definition at line 1862 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 1854 of file TGLUtil.cxx.
|
static |
Get global point-size scale.
Definition at line 1874 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 1843 of file TGLUtil.cxx.
|
static |
Initialize globals that require other libraries to be initialized.
This is called from TGLWidget creation function.
Definition at line 1573 of file TGLUtil.cxx.
|
static |
Returns true if color lock-count is greater than 0.
Definition at line 1680 of file TGLUtil.cxx.
|
static |
Get the line-width, taking the global scaling into account.
Definition at line 1934 of file TGLUtil.cxx.
|
static |
Set the line-width, taking the global scaling into account.
Wrapper for glLineWidth.
Definition at line 1917 of file TGLUtil.cxx.
|
static |
Prevent further color changes.
Definition at line 1660 of file TGLUtil.cxx.
|
static |
Get the point-size, taking the global scaling into account.
Definition at line 1926 of file TGLUtil.cxx.
|
static |
Set the point-size, taking the global scaling into account.
Wrapper for glPointSize.
Definition at line 1907 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1814 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1826 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2082 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2011 of file TGLUtil.cxx.
|
static |
Render poly-line as specified by the p-array.
Definition at line 2243 of file TGLUtil.cxx.
|
static |
Render polymarkers at points specified by p-array.
Supports point and cross-like styles.
Definition at line 1971 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 1997 of file TGLUtil.cxx.
|
static |
static: reset draw quality
Definition at line 1612 of file TGLUtil.cxx.
|
static |
static: set default draw quality
Definition at line 1628 of file TGLUtil.cxx.
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 2327 of file TGLUtil.cxx.
|
static |
static: set draw quality
Definition at line 1604 of file TGLUtil.cxx.
|
static |
Set global line-width scale.
Definition at line 1898 of file TGLUtil.cxx.
|
static |
Set global point-size scale.
Definition at line 1882 of file TGLUtil.cxx.
|
static |
Definition at line 1419 of file TGLUtil.cxx.
|
static |
Definition at line 1418 of file TGLUtil.cxx.
|
inline |
|
static |
Allow color changes.
Definition at line 1668 of file TGLUtil.cxx.
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |