![]() |
ROOT 6.14/05 Reference Guide |
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 (const TGLColor &color, UChar_t alpha) |
Set color from TGLColor and alpha value. More... | |
static void | ColorAlpha (const TGLColor &color, Float_t alpha) |
Set color from TGLColor and alpha value. 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 | 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 void | LineWidth (Float_t line_width) |
Set the line-width, taking the global scaling into account. More... | |
static Float_t | LineWidth () |
Get the line-width, taking the global scaling into account. More... | |
static UInt_t | LockColor () |
Prevent further color changes. More... | |
static void | PointSize (Float_t point_size) |
Set the point-size, taking the global scaling into account. More... | |
static Float_t | PointSize () |
Get 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, Float_t *p, Int_t n, Bool_t sec_selection=kFALSE) |
Render markers as crosses. 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 | 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 | RenderPoints (const TAttMarker &marker, const std::vector< Double_t > &points) |
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 2233 of file TGLUtil.cxx.
Definition at line 1913 of file TGLUtil.cxx.
|
static |
Check current GL error state, outputting details via ROOT Error method if one.
Definition at line 1607 of file TGLUtil.cxx.
Set color from TGLColor.
Definition at line 1658 of file TGLUtil.cxx.
Wrapper for glColor3f.
Definition at line 1748 of file TGLUtil.cxx.
Wrapper for glColor3fv.
Definition at line 1764 of file TGLUtil.cxx.
Wrapper for glColor3ub.
Definition at line 1716 of file TGLUtil.cxx.
Wrapper for glColor3ubv.
Definition at line 1732 of file TGLUtil.cxx.
Wrapper for glColor4f.
Definition at line 1756 of file TGLUtil.cxx.
Wrapper for glColor4fv.
Definition at line 1772 of file TGLUtil.cxx.
Wrapper for glColor4ub.
Definition at line 1724 of file TGLUtil.cxx.
Wrapper for glColor4ubv.
Definition at line 1740 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1666 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1677 of file TGLUtil.cxx.
Set color from color_index and GL-style alpha (default 1).
Definition at line 1688 of file TGLUtil.cxx.
Set color from color_index and ROOT-style transparency (default 0).
Definition at line 1702 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 2333 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 2344 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 2595 of file TGLUtil.cxx.
|
static |
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'.
Color argument is optional.
Definition at line 2440 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 2399 of file TGLUtil.cxx.
|
static |
Draw simple xyz-axes for given bounding-box.
Definition at line 2455 of file TGLUtil.cxx.
|
static |
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'.
Definition at line 2318 of file TGLUtil.cxx.
Restore previous line drawing state.
Definition at line 2269 of file TGLUtil.cxx.
|
static |
Definition at line 1928 of file TGLUtil.cxx.
|
static |
static: get default draw quality
Definition at line 1590 of file TGLUtil.cxx.
|
static |
static: get draw quality
Definition at line 1566 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with double precision.
Definition at line 1521 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with single precision.
Definition at line 1499 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with double precision.
Definition at line 1532 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 1860 of file TGLUtil.cxx.
|
static |
Returns picking radius.
Definition at line 1832 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 1824 of file TGLUtil.cxx.
|
static |
Get global point-size scale.
Definition at line 1844 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 1813 of file TGLUtil.cxx.
|
static |
Initialize globals that require other libraries to be initialized.
This is called from TGLWidget creation function.
Definition at line 1543 of file TGLUtil.cxx.
|
static |
Returns true if color lock-count is greater than 0.
Definition at line 1650 of file TGLUtil.cxx.
Set the line-width, taking the global scaling into account.
Wrapper for glLineWidth.
Definition at line 1887 of file TGLUtil.cxx.
|
static |
Get the line-width, taking the global scaling into account.
Definition at line 1904 of file TGLUtil.cxx.
|
static |
Prevent further color changes.
Definition at line 1630 of file TGLUtil.cxx.
Set the point-size, taking the global scaling into account.
Wrapper for glPointSize.
Definition at line 1877 of file TGLUtil.cxx.
|
static |
Get the point-size, taking the global scaling into account.
Definition at line 1896 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1784 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1796 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 1981 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2052 of file TGLUtil.cxx.
|
static |
Render poly-line as specified by the p-array.
Definition at line 2213 of file TGLUtil.cxx.
|
static |
Render polymarkers at points specified by p-array.
Supports point and cross-like styles.
Definition at line 1941 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 1967 of file TGLUtil.cxx.
|
static |
static: reset draw quality
Definition at line 1582 of file TGLUtil.cxx.
static: set default draw quality
Definition at line 1598 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 2297 of file TGLUtil.cxx.
static: set draw quality
Definition at line 1574 of file TGLUtil.cxx.
Set global line-width scale.
Definition at line 1868 of file TGLUtil.cxx.
Set global point-size scale.
Definition at line 1852 of file TGLUtil.cxx.
|
static |
Allow color changes.
Definition at line 1638 of file TGLUtil.cxx.
|
static |
|
staticprivate |
|
static |
|
static |
|
staticprivate |
|
staticprivate |
|
static |
|
static |