library: libCore #include "TVirtualGL.h"

# TVirtualGL

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

## class TVirtualGL

| Inheritance Chart:

`TVirtualGL`

        protected:

          Float_t* Invert(Float_t* vector)

        public:

                                TVirtualGL()
                                TVirtualGL(const TVirtualGL&)
                        virtual ~TVirtualGL()
                   virtual void AddRotation(Double_t* rotmatrix, Double_t* extraangles)
                   virtual void BeginGLCmd(EG3D2GLmode mode)
                   virtual void ClearColor(Int_t color)
                   virtual void ClearGL(UInt_t bufbits)
                   virtual void ClearGLColor(Float_t red, Float_t green, Float_t blue, Float_t alpha)
                  virtual Int_t CreateGLLists(Int_t range)
          virtual TGLViewerImp* CreateGLViewerImp(TPadOpenGLView* c, const char* title, UInt_t width, UInt_t height)
            virtual TPadView3D* CreatePadGLView(TVirtualPad* c)
                   virtual void DeleteGLLists(Int_t ilist, Int_t range)
                   virtual void DisableGL(EG3D2GLmode mode)
                   virtual void EnableGL(EG3D2GLmode mode)
                   virtual void EndGLCmd()
                   virtual void EndGLList()
                   virtual void FlushGL()
                   virtual void FrontGLFace(EG3D2GLmode faceflag)
                   virtual void GetGL(EG3D2GLmode mode, UChar_t* params)
                   virtual void GetGL(EG3D2GLmode mode, Double_t* params)
                   virtual void GetGL(EG3D2GLmode mode, Float_t* params)
                   virtual void GetGL(EG3D2GLmode mode, Int_t* params)
                  virtual Int_t GetGLError()
                         Bool_t GetRootLight()
                         Bool_t GetTrueColorMode()
                   virtual void MultGLMatrix(Double_t* mat)
                   virtual void NewGLList(UInt_t ilist = 1, EG3D2GLmode mode = kCOMPILE)
                   virtual void NewGLModelView(Int_t ilist)
                   virtual void NewModelView(Double_t* angles, Double_t* delta)
                   virtual void NewProjectionView(Double_t* viewboxmin, Double_t* viewboxmax, Bool_t perspective = kTRUE)
                    TVirtualGL& operator=(const TVirtualGL&)
                   virtual void PaintBrik(Float_t* vertex)
                   virtual void PaintCone(Float_t* vertex, Int_t ndiv, Int_t nstacks)
                   virtual void PaintGLPoints(Int_t n, Float_t* p, Option_t* option)
                   virtual void PaintGLPointsObject(const TPoints3DABC* points, Option_t* option)
                   virtual void PaintPolyLine(Int_t n, Float_t* p, Option_t* option)
                   virtual void PaintXtru(Float_t* vertex, Int_t nxy, Int_t nz)
                   virtual void PolygonGLMode(EG3D2GLmode face, EG3D2GLmode mode)
                   virtual void PopGLMatrix()
                   virtual void PushGLMatrix()
                   virtual void RotateGL(Double_t angle, Double_t x, Double_t y, Double_t z)
                   virtual void RotateGL(Double_t Theta, Double_t Phi, Double_t Psi)
                   virtual void RunGLList(Int_t list)
                   virtual void SetGLColor(Float_t* rgb)
                   virtual void SetGLColorIndex(Int_t color)
                   virtual void SetGLLineWidth(Float_t width)
                   virtual void SetGLPointSize(Float_t size)
                   virtual void SetGLVertex(Float_t* vertex)
                   virtual void SetLineAttr(Color_t color, Int_t width = 1)
                   virtual void SetRootLight(Bool_t flag = kTRUE)
                   virtual void SetStack(Double_t* matrix = 0)
                           void SetTrueColorMode(Bool_t flag = kTRUE)
                   virtual void ShadeGLModel(EG3D2GLmode mode)
                   virtual void TranslateGL(Double_t x, Double_t y, Double_t z)
                   virtual void UpdateMatrix(Double_t* translate = 0, Double_t* rotate = 0, Bool_t isreflection = kFALSE)

### Data Members

        protected:

               UInt_t fColorIndx      Current color index;
               Bool_t fRootLight      Whether the "ROOT" light will be used (otherwise OpenGL)
               Bool_t fTrueColorMode  Defines the whether the current hardware layer supports the true colors
          EG3D2GLmode fFaceFlag       The current "face" definiton - clockwise/counterclockwise

## Class Description

     TVirtualGL

     The TVirtualGL class is an abstract base class defining the
     OpenGL interface protocol. All interactions with OpenGL should be
     done via the global pointer gVirtualGL. If the OpenGL library is
     available this pointer is pointing to an instance of the TGLKernel
     class which provides the actual interface to OpenGL. Using this
     scheme of ABC we can use OpenGL in other parts of the framework
     without having to link with the OpenGL library in case we don't
     use the classes using OpenGL.

### Inline Functions

                     void ~TVirtualGL()
                 Float_t* Invert(Float_t* vector)
               TVirtualGL TVirtualGL()
                     void AddRotation(Double_t* rotmatrix, Double_t* extraangles)
                     void BeginGLCmd(EG3D2GLmode mode)
                     void ClearColor(Int_t color)
                     void ClearGLColor(Float_t red, Float_t green, Float_t blue, Float_t alpha)
                     void ClearGL(UInt_t bufbits)
                    Int_t CreateGLLists(Int_t range)
            TGLViewerImp* CreateGLViewerImp(TPadOpenGLView* c, const char* title, UInt_t width, UInt_t height)
              TPadView3D* CreatePadGLView(TVirtualPad* c)
                     void DeleteGLLists(Int_t ilist, Int_t range)
                     void DisableGL(EG3D2GLmode mode)
                     void EnableGL(EG3D2GLmode mode)
                     void EndGLList()
                     void EndGLCmd()
                     void FlushGL()
                     void FrontGLFace(EG3D2GLmode faceflag)
                     void GetGL(EG3D2GLmode mode, UChar_t* params)
                     void GetGL(EG3D2GLmode mode, Double_t* params)
                     void GetGL(EG3D2GLmode mode, Float_t* params)
                     void GetGL(EG3D2GLmode mode, Int_t* params)
                    Int_t GetGLError()
                   Bool_t GetRootLight()
                   Bool_t GetTrueColorMode()
                     void MultGLMatrix(Double_t* mat)
                     void NewGLList(UInt_t ilist = 1, EG3D2GLmode mode = kCOMPILE)
                     void NewGLModelView(Int_t ilist)
                     void PaintGLPoints(Int_t n, Float_t* p, Option_t* option)
                     void PolygonGLMode(EG3D2GLmode face, EG3D2GLmode mode)
                     void PushGLMatrix()
                     void PopGLMatrix()
                     void RotateGL(Double_t angle, Double_t x, Double_t y, Double_t z)
                     void RotateGL(Double_t Theta, Double_t Phi, Double_t Psi)
                     void SetGLVertex(Float_t* vertex)
                     void SetGLColor(Float_t* rgb)
                     void SetGLColorIndex(Int_t color)
                     void SetGLLineWidth(Float_t width)
                     void SetGLPointSize(Float_t size)
                     void SetStack(Double_t* matrix = 0)
                     void ShadeGLModel(EG3D2GLmode mode)
                     void TranslateGL(Double_t x, Double_t y, Double_t z)
                     void RunGLList(Int_t list)
                     void NewProjectionView(Double_t* viewboxmin, Double_t* viewboxmax, Bool_t perspective = kTRUE)
                     void NewModelView(Double_t* angles, Double_t* delta)
                     void PaintCone(Float_t* vertex, Int_t ndiv, Int_t nstacks)
                     void PaintPolyLine(Int_t n, Float_t* p, Option_t* option)
                     void PaintGLPointsObject(const TPoints3DABC* points, Option_t* option)
                     void PaintBrik(Float_t* vertex)
                     void PaintXtru(Float_t* vertex, Int_t nxy, Int_t nz)
                     void SetRootLight(Bool_t flag = kTRUE)
                     void SetLineAttr(Color_t color, Int_t width = 1)
                     void UpdateMatrix(Double_t* translate = 0, Double_t* rotate = 0, Bool_t isreflection = kFALSE)
                     void SetTrueColorMode(Bool_t flag = kTRUE)
               TVirtualGL TVirtualGL(const TVirtualGL&)
              TVirtualGL& operator=(const TVirtualGL&)

Author: Valery Fine(fine@vxcern.cern.ch) 05/03/97
Last update: root/base:$Name: $:$Id: TVirtualGL.h,v 1.4 2002/02/23 15:50:36 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *