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 () |
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. More... | |
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. More... | |
static void | Color (const TGLColor &color) |
Set color from TGLColor. More... | |
static void | Color3f (Float_t r, Float_t g, Float_t b) |
Wrapper for glColor3f. More... | |
static void | Color3fv (const Float_t *rgb) |
Wrapper for glColor3fv. More... | |
static void | Color3ub (UChar_t r, UChar_t g, UChar_t b) |
Wrapper for glColor3ub. More... | |
static void | Color3ubv (const UChar_t *rgb) |
Wrapper for glColor3ubv. More... | |
static void | Color4f (Float_t r, Float_t g, Float_t b, Float_t a) |
Wrapper for glColor4f. More... | |
static void | Color4fv (const Float_t *rgba) |
Wrapper for glColor4fv. More... | |
static void | Color4ub (UChar_t r, UChar_t g, UChar_t b, UChar_t a) |
Wrapper for glColor4ub. More... | |
static void | Color4ubv (const UChar_t *rgba) |
Wrapper for glColor4ubv. More... | |
static void | ColorAlpha (Color_t color_index, Float_t alpha=1) |
Set color from color_index and GL-style alpha (default 1). More... | |
static void | ColorAlpha (const TGLColor &color, Float_t alpha) |
Set color from TGLColor and alpha value. More... | |
static void | ColorAlpha (const TGLColor &color, UChar_t alpha) |
Set color from TGLColor and alpha value. More... | |
static void | ColorTransparency (Color_t color_index, Char_t transparency=0) |
Set color from color_index and ROOT-style transparency (default 0). More... | |
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'. More... | |
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'. More... | |
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'. More... | |
static void | DrawReferenceMarker (const TGLCamera &camera, const TGLVertex3 &pos, Float_t radius=3, const UChar_t *rgba=0) |
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'. More... | |
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'. More... | |
static void | DrawSimpleAxes (const TGLCamera &camera, const TGLBoundingBox &bbox, Int_t axesType) |
Draw simple xyz-axes for given bounding-box. More... | |
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'. More... | |
static void | EndAttLine (Int_t pick_radius=0, Bool_t selection=kFALSE) |
Restore previous line drawing state. More... | |
static void | EndExtendPickRegion () |
static UInt_t | GetDefaultDrawQuality () |
static: get default draw quality More... | |
static UInt_t | GetDrawQuality () |
static: get draw quality More... | |
static GLUtesselator * | GetDrawTesselator3dv () |
Returns a tesselator for direct drawing when using 3-vertices with double precision. More... | |
static GLUtesselator * | GetDrawTesselator3fv () |
Returns a tesselator for direct drawing when using 3-vertices with single precision. More... | |
static GLUtesselator * | GetDrawTesselator4dv () |
Returns a tesselator for direct drawing when using 4-vertices with double precision. More... | |
static GLUtesselator * | GetDrawTesselator4fv () |
Returns a tesselator for direct drawing when using 4-vertices with single precision. More... | |
static Float_t | GetLineWidthScale () |
Returns global line-width scale. More... | |
static Int_t | GetPickingRadius () |
Returns picking radius. More... | |
static Float_t | GetPointLineScalingFactor () |
Return extra scaling factor for points and lines. More... | |
static Float_t | GetPointSizeScale () |
Get global point-size scale. More... | |
static Float_t | GetScreenScalingFactor () |
Returns scaling factor between screen points and GL viewport pixels. More... | |
static void | InitializeIfNeeded () |
Initialize globals that require other libraries to be initialized. More... | |
static Bool_t | IsColorLocked () |
Returns true if color lock-count is greater than 0. More... | |
static Float_t | LineWidth () |
Get the line-width, taking the global scaling into account. More... | |
static void | LineWidth (Float_t line_width) |
Set the line-width, taking the global scaling into account. More... | |
static UInt_t | LockColor () |
Prevent further color changes. More... | |
static Float_t | PointSize () |
Get the point-size, taking the global scaling into account. More... | |
static void | PointSize (Float_t point_size) |
Set the point-size, taking the global scaling into account. More... | |
static void | PointToViewport (Int_t &x, Int_t &y) |
Convert from point/screen coordinates to GL viewport coordinates. More... | |
static void | PointToViewport (Int_t &x, Int_t &y, Int_t &w, Int_t &h) |
Convert from point/screen coordinates to GL viewport coordinates. More... | |
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. More... | |
static void | RenderCrosses (const TAttMarker &marker, Float_t *p, Int_t n, Bool_t sec_selection=kFALSE) |
Render markers as crosses. More... | |
static void | RenderPoints (const TAttMarker &marker, const std::vector< Double_t > &points) |
Render markers as circular or square points. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
static void | ResetDrawQuality () |
static: reset draw quality More... | |
static void | SetDefaultDrawQuality (UInt_t dq) |
static: set default draw quality More... | |
static void | SetDrawColors (const UChar_t rgba[4]) |
Set basic draw colors from 4 component 'rgba' Used by other TGLUtil drawing routines. More... | |
static void | SetDrawQuality (UInt_t dq) |
static: set draw quality More... | |
static void | SetLineWidthScale (Float_t scale) |
Set global line-width scale. More... | |
static void | SetPointSizeScale (Float_t scale) |
Set global point-size scale. More... | |
static UInt_t | UnlockColor () |
Allow color changes. More... | |
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 |
#include <TGLUtil.h>
enum TGLUtil::EAxesType |
|
private |
|
static |
Setup drawing parameters according to passed TAttLine.
Definition at line 2267 of file TGLUtil.cxx.
Definition at line 1947 of file TGLUtil.cxx.
|
static |
Check current GL error state, outputting details via ROOT Error method if one.
Definition at line 1641 of file TGLUtil.cxx.
Set color from TGLColor.
Definition at line 1692 of file TGLUtil.cxx.
Wrapper for glColor3f.
Definition at line 1782 of file TGLUtil.cxx.
Wrapper for glColor3fv.
Definition at line 1798 of file TGLUtil.cxx.
Wrapper for glColor3ub.
Definition at line 1750 of file TGLUtil.cxx.
Wrapper for glColor3ubv.
Definition at line 1766 of file TGLUtil.cxx.
Wrapper for glColor4f.
Definition at line 1790 of file TGLUtil.cxx.
Wrapper for glColor4fv.
Definition at line 1806 of file TGLUtil.cxx.
Wrapper for glColor4ub.
Definition at line 1758 of file TGLUtil.cxx.
Wrapper for glColor4ubv.
Definition at line 1774 of file TGLUtil.cxx.
Set color from color_index and GL-style alpha (default 1).
Definition at line 1722 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1711 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1700 of file TGLUtil.cxx.
Set color from color_index and ROOT-style transparency (default 0).
Definition at line 1736 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 2367 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 2378 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 2629 of file TGLUtil.cxx.
|
static |
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'.
Color argument is optional.
Definition at line 2474 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 2433 of file TGLUtil.cxx.
|
static |
Draw simple xyz-axes for given bounding-box.
Definition at line 2489 of file TGLUtil.cxx.
|
static |
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'.
Definition at line 2352 of file TGLUtil.cxx.
Restore previous line drawing state.
Definition at line 2303 of file TGLUtil.cxx.
|
static |
Definition at line 1962 of file TGLUtil.cxx.
|
static |
static: get default draw quality
Definition at line 1624 of file TGLUtil.cxx.
|
static |
static: get draw quality
Definition at line 1600 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with double precision.
Definition at line 1535 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with single precision.
Definition at line 1493 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with double precision.
Definition at line 1556 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with single precision.
Definition at line 1514 of file TGLUtil.cxx.
|
static |
Returns global line-width scale.
Definition at line 1894 of file TGLUtil.cxx.
|
static |
Returns picking radius.
Definition at line 1866 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 1858 of file TGLUtil.cxx.
|
static |
Get global point-size scale.
Definition at line 1878 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 1847 of file TGLUtil.cxx.
|
static |
Initialize globals that require other libraries to be initialized.
This is called from TGLWidget creation function.
Definition at line 1577 of file TGLUtil.cxx.
|
static |
Returns true if color lock-count is greater than 0.
Definition at line 1684 of file TGLUtil.cxx.
|
static |
Get the line-width, taking the global scaling into account.
Definition at line 1938 of file TGLUtil.cxx.
Set the line-width, taking the global scaling into account.
Wrapper for glLineWidth.
Definition at line 1921 of file TGLUtil.cxx.
|
static |
Prevent further color changes.
Definition at line 1664 of file TGLUtil.cxx.
|
static |
Get the point-size, taking the global scaling into account.
Definition at line 1930 of file TGLUtil.cxx.
Set the point-size, taking the global scaling into account.
Wrapper for glPointSize.
Definition at line 1911 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1818 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1830 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2086 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2015 of file TGLUtil.cxx.
|
static |
Render poly-line as specified by the p-array.
Definition at line 2247 of file TGLUtil.cxx.
|
static |
Render polymarkers at points specified by p-array.
Supports point and cross-like styles.
Definition at line 1975 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 2001 of file TGLUtil.cxx.
|
static |
static: reset draw quality
Definition at line 1616 of file TGLUtil.cxx.
static: set default draw quality
Definition at line 1632 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 2331 of file TGLUtil.cxx.
static: set draw quality
Definition at line 1608 of file TGLUtil.cxx.
Set global line-width scale.
Definition at line 1902 of file TGLUtil.cxx.
Set global point-size scale.
Definition at line 1886 of file TGLUtil.cxx.
|
static |
Allow color changes.
Definition at line 1672 of file TGLUtil.cxx.
|
static |
|
staticprivate |
|
static |
|
static |
|
staticprivate |
|
staticprivate |
|
static |
|
static |