library: libRGL
#include "TGLUtil.h"

TGLUtil


class description - source file - inheritance tree (.pdf)

class TGLUtil

Inheritance Chart:
TGLUtil

    public:
TGLUtil() TGLUtil(const TGLUtil&) 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 DrawRing(const TGLVertex3& center, const TGLVector3& normal, Double_t radius, const Float_t* rgba) static void DrawSphere(const TGLVertex3& position, Double_t radius, const Float_t* rgba) virtual TClass* IsA() const TGLUtil& operator=(const TGLUtil&) static void SetDrawColors(const Float_t* rgba) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
static UInt_t fgDrawQuality public:
static const TGLUtil::ELineHeadShape kLineHeadNone static const TGLUtil::ELineHeadShape kLineHeadArrow static const TGLUtil::ELineHeadShape kLineHeadBox

Class Description

                                                                      
 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.                                                            


void CheckError(const char * loc)
 Check current GL error state, outputing details via ROOT
 Error method if one

void SetDrawColors(const Float_t rgba[4])
 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

void DrawSphere(const TGLVertex3 & position, Double_t radius, const Float_t rgba[4])
 Draw sphere, centered on vertex 'position', with radius 'radius',
 color 'rgba'

void DrawLine(const TGLLine3 & line, ELineHeadShape head, Double_t size, const Float_t rgba[4])
 Draw thick line (tube) defined by 'line', with head at end shape
 'head' - box/arrow/none, (head) size 'size', color 'rgba'

void DrawLine(const TGLVertex3 & start, const TGLVector3 & vector, ELineHeadShape head, Double_t size, const Float_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'

void DrawRing(const TGLVertex3 & center, const TGLVector3 & normal, Double_t radius, const Float_t rgba[4])
 Draw ring, centered on 'center', lying on plane defined by 'center' & 'normal'
 of outer radius 'radius', color 'rgba'



Inline Functions


               void ~TGLUtil()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
            TGLUtil TGLUtil()
            TGLUtil TGLUtil(const TGLUtil&)
           TGLUtil& operator=(const TGLUtil&)


Author: Richard Maunder 25/05/2005
Last update: root/gl:$Name: $:$Id: TGLUtil.cxx,v 1.26 2006/02/23 16:44:52 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.