TGLVertex3 3 component (x/y/z) vertex class This is part of collection of simple utility classes for GL only in TGLUtil.h/cxx. These provide const and non-const accessors Arr() & CArr() to a GL compatible internal field - so can be used directly with OpenGL C API calls - which TVector3 etc cannot (easily). They are not intended to be fully featured just provide minimum required.
virtual | ~TGLUtil() |
static void | CheckError(const char* loc) |
static TClass* | Class() |
static void | DrawLine(const TGLLine3& line, TGLUtil::ELineHeadShape head, Double_t size, const Float_t* rgba) |
static void | DrawLine(const TGLVertex3& start, const TGLVector3& vector, TGLUtil::ELineHeadShape head, Double_t size, const Float_t* rgba) |
static void | DrawNumber(const TString& num, const TGLVertex3& pos, Bool_t center = kFALSE) |
static void | DrawReferenceMarker(const TGLCamera& camera, const TGLVertex3& pos, Float_t radius = 3, const Float_t* rgba = 0) |
static void | DrawRing(const TGLVertex3& center, const TGLVector3& normal, Double_t radius, const Float_t* rgba) |
static void | DrawSimpleAxes(const TGLCamera& camera, const TGLBoundingBox& bbox, Int_t axesType) |
static void | DrawSphere(const TGLVertex3& position, Double_t radius, const Float_t* rgba) |
virtual TClass* | IsA() const |
static void | ResetDrawQuality() |
static void | SetDrawColors(const Float_t* rgba) |
static void | SetDrawQuality(UInt_t dq) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
enum ELineHeadShape { | kLineHeadNone | |
kLineHeadArrow | ||
kLineHeadBox | ||
}; | ||
enum EAxesType { | kAxesNone | |
kAxesEdge | ||
kAxesOrigin | ||
}; |
static UInt_t | fgDrawQuality |
Check current GL error state, outputing details via ROOT Error method if one
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
Draw sphere, centered on vertex 'position', with radius 'radius', color 'rgba'
Draw thick line (tube) defined by 'line', with head at end shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'
Draw thick line (tube) running from 'start', length 'vector', with head at end of shape 'head' - box/arrow/none, (head) size 'size', color 'rgba'
Draw ring, centered on 'center', lying on plane defined by 'center' & 'normal' of outer radius 'radius', color 'rgba'
Draw a sphere- marker on world-coordinate 'pos' with pixel radius 'radius'. Color argument is optional.
Draw simple xyz-axes for given bounding-box.
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.