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. | |
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 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 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=0) |
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) |
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 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 |
#include <TGLUtil.h>
enum TGLUtil::EAxesType |
|
private |
|
static |
Setup drawing parameters according to passed TAttLine.
Definition at line 2266 of file TGLUtil.cxx.
Definition at line 1946 of file TGLUtil.cxx.
|
static |
Check current GL error state, outputting details via ROOT Error method if one.
Definition at line 1640 of file TGLUtil.cxx.
Set color from TGLColor.
Definition at line 1691 of file TGLUtil.cxx.
Wrapper for glColor3f.
Definition at line 1781 of file TGLUtil.cxx.
Wrapper for glColor3fv.
Definition at line 1797 of file TGLUtil.cxx.
Wrapper for glColor3ub.
Definition at line 1749 of file TGLUtil.cxx.
Wrapper for glColor3ubv.
Definition at line 1765 of file TGLUtil.cxx.
Wrapper for glColor4f.
Definition at line 1789 of file TGLUtil.cxx.
Wrapper for glColor4fv.
Definition at line 1805 of file TGLUtil.cxx.
Wrapper for glColor4ub.
Definition at line 1757 of file TGLUtil.cxx.
Wrapper for glColor4ubv.
Definition at line 1773 of file TGLUtil.cxx.
Set color from color_index and GL-style alpha (default 1).
Definition at line 1721 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1710 of file TGLUtil.cxx.
Set color from TGLColor and alpha value.
Definition at line 1699 of file TGLUtil.cxx.
Set color from color_index and ROOT-style transparency (default 0).
Definition at line 1735 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 2366 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 2377 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 2473 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 2432 of file TGLUtil.cxx.
|
static |
Draw simple xyz-axes for given bounding-box.
Definition at line 2488 of file TGLUtil.cxx.
|
static |
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'.
Definition at line 2351 of file TGLUtil.cxx.
Restore previous line drawing state.
Definition at line 2302 of file TGLUtil.cxx.
|
static |
Definition at line 1961 of file TGLUtil.cxx.
|
static |
static: get default draw quality
Definition at line 1623 of file TGLUtil.cxx.
|
static |
static: get draw quality
Definition at line 1599 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with double precision.
Definition at line 1534 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 3-vertices with single precision.
Definition at line 1492 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with double precision.
Definition at line 1555 of file TGLUtil.cxx.
|
static |
Returns a tesselator for direct drawing when using 4-vertices with single precision.
Definition at line 1513 of file TGLUtil.cxx.
|
static |
Returns global line-width scale.
Definition at line 1893 of file TGLUtil.cxx.
|
static |
Returns picking radius.
Definition at line 1865 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 1857 of file TGLUtil.cxx.
|
static |
Get global point-size scale.
Definition at line 1877 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 1846 of file TGLUtil.cxx.
|
static |
Initialize globals that require other libraries to be initialized.
This is called from TGLWidget creation function.
Definition at line 1576 of file TGLUtil.cxx.
|
static |
Returns true if color lock-count is greater than 0.
Definition at line 1683 of file TGLUtil.cxx.
|
static |
Get the line-width, taking the global scaling into account.
Definition at line 1937 of file TGLUtil.cxx.
Set the line-width, taking the global scaling into account.
Wrapper for glLineWidth.
Definition at line 1920 of file TGLUtil.cxx.
|
static |
Prevent further color changes.
Definition at line 1663 of file TGLUtil.cxx.
|
static |
Get the point-size, taking the global scaling into account.
Definition at line 1929 of file TGLUtil.cxx.
Set the point-size, taking the global scaling into account.
Wrapper for glPointSize.
Definition at line 1910 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1817 of file TGLUtil.cxx.
Convert from point/screen coordinates to GL viewport coordinates.
Definition at line 1829 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2085 of file TGLUtil.cxx.
|
static |
Render markers as circular or square points.
Color is never changed.
Definition at line 2014 of file TGLUtil.cxx.
|
static |
Render poly-line as specified by the p-array.
Definition at line 2246 of file TGLUtil.cxx.
|
static |
Render polymarkers at points specified by p-array.
Supports point and cross-like styles.
Definition at line 1974 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 2000 of file TGLUtil.cxx.
|
static |
static: reset draw quality
Definition at line 1615 of file TGLUtil.cxx.
static: set default draw quality
Definition at line 1631 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 2330 of file TGLUtil.cxx.
static: set draw quality
Definition at line 1607 of file TGLUtil.cxx.
Set global line-width scale.
Definition at line 1901 of file TGLUtil.cxx.
Set global point-size scale.
Definition at line 1885 of file TGLUtil.cxx.
|
static |
Allow color changes.
Definition at line 1671 of file TGLUtil.cxx.
|
static |
|
staticprivate |
|
static |
|
static |
|
staticprivate |
|
staticprivate |
|
static |
|
static |