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() 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()
 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.21 2005/12/05 17:34:45 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.