| #include "TViewerOpenGL.h" | 
TViewerOpenGL
class description - source file - inheritance tree (.pdf)
    private:
                         TViewerOpenGL(const TViewerOpenGL&)
      RootCsg::BaseMesh* BuildComposite()
            virtual void CloseWindow()
        TGLLogicalShape* CreateNewLogical(const TBuffer3D& buffer) const
       TGLPhysicalShape* CreateNewPhysical(UInt_t physicalID, const TBuffer3D& buffer, const TGLLogicalShape& logical) const
                    void CreateViewer()
            virtual void DoRedraw()
                    void DoSelect(Event_t* event, Bool_t invokeContext)
            virtual void InitGL()
            virtual void Invalidate(UInt_t redrawLOD = kMed)
            virtual void MakeCurrent() const
          TViewerOpenGL& operator=(const TViewerOpenGL&)
                    void PrintObjects()
          virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
          virtual Bool_t RebuildScene()
                    void Show()
            virtual void SwapBuffers() const
                   Int_t ValidateObjectBuffer(const TBuffer3D& buffer, Bool_t logical) const
    public:
                      TViewerOpenGL(TVirtualPad* pad)
                      ~TViewerOpenGL()
         virtual void AddCompositeOp(UInt_t operation)
        virtual Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0)
        virtual Int_t AddObject(UInt_t physicalID, const TBuffer3D& buffer, Bool_t* addChildren = 0)
         virtual void BeginScene()
       virtual Bool_t BuildingScene() const
       static TClass* Class()
         virtual void CloseComposite()
         virtual void EndScene()
               Bool_t HandleContainerButton(Event_t* ev)
               Bool_t HandleContainerConfigure(Event_t* ev)
               Bool_t HandleContainerDoubleClick(Event_t* ev)
               Bool_t HandleContainerEvent(Event_t* ev)
               Bool_t HandleContainerExpose(Event_t* ev)
               Bool_t HandleContainerKey(Event_t* ev)
               Bool_t HandleContainerMotion(Event_t* ev)
      virtual TClass* IsA() const
                 void ModifyScene(Int_t id)
       virtual Bool_t OpenComposite(const TBuffer3D& buffer, Bool_t* addChildren = 0)
       virtual Bool_t PreferLocalFrame() const
         virtual void ShowMembers(TMemberInspector& insp, char* parent)
         virtual void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
    private:
           TGCompositeFrame* fMainFrame             
            TGVerticalFrame* fV1                    
            TGVerticalFrame* fV2                    
                  TGShutter* fShutter               
              TGShutterItem* fShutItem1             
              TGShutterItem* fShutItem2             
              TGShutterItem* fShutItem3             
              TGShutterItem* fShutItem4             
              TGLayoutHints* fL1                    
              TGLayoutHints* fL2                    
              TGLayoutHints* fL3                    
              TGLayoutHints* fL4                    
              TGLayoutHints* fCanvasLayout          
                  TGMenuBar* fMenuBar               
                TGPopupMenu* fFileMenu              
                TGPopupMenu* fViewMenu              
                TGPopupMenu* fHelpMenu              
              TGLayoutHints* fMenuBarLayout         
              TGLayoutHints* fMenuBarItemLayout     
              TGLayoutHints* fMenuBarHelpLayout     
               TContextMenu* fContextMenu           
                   TGCanvas* fCanvasWindow          
              TGLRenderArea* fCanvasContainer       
             TGLColorEditor* fColorEditor           
          TGLGeometryEditor* fGeomEditor            
             TGLSceneEditor* fSceneEditor           
             TGLLightEditor* fLightEditor           
      TViewerOpenGL::EAction fAction                
                      TPoint fStartPos              
                      TPoint fLastPos               
                      UInt_t fActiveButtonID        
                      Bool_t fInternalRebuild       ! internal scene rebuild in progress?
                      Bool_t fAcceptedAllPhysicals  ! did we take all physicals offered in AddObject()
                      Bool_t fInternalPIDs          ! using internal physical IDs
                      UInt_t fNextInternalPID       ! next internal physical ID (from 1 - 0 reserved)
                       Int_t fLightMask             
                TVirtualPad* fPad                   
                 TGLFaceSet* fComposite             ! Paritally created composite
                      UInt_t fCSLevel               
            vector<CSPART_t> fCSTokens              
                      UInt_t fAcceptedPhysicals     
                      UInt_t fRejectedPhysicals     
          static const Int_t fgInitX                
          static const Int_t fgInitY                
          static const Int_t fgInitW                
          static const Int_t fgInitH                
    public:
      static const TViewerOpenGL::EAction kNone    
      static const TViewerOpenGL::EAction kRotate  
      static const TViewerOpenGL::EAction kTruck   
      static const TViewerOpenGL::EAction kDolly   
      static const TViewerOpenGL::EAction kDrag    
 TViewerOpenGL(TVirtualPad * pad) :
   TGMainFrame(gClient->GetDefaultRoot(), fgInitW, fgInitH),
   fMainFrame(0), fV1(0), fV2(0), fShutter(0), fShutItem1(0), fShutItem2(0), 
   fShutItem3(0), fShutItem4(0), fL1(0), fL2(0), fL3(0), fL4(0),
   fCanvasLayout(0), fMenuBar(0), fFileMenu(0), fViewMenu(0), fHelpMenu(0),
   fMenuBarLayout(0), fMenuBarItemLayout(0), fMenuBarHelpLayout(0),
   fContextMenu(0), fCanvasWindow(0), fCanvasContainer(0),
   fColorEditor(0), fGeomEditor(0), fSceneEditor(0), fLightEditor(0),
   fAction(kNone), fStartPos(0,0), fLastPos(0,0), fActiveButtonID(0),
   fInternalRebuild(kFALSE), fAcceptedAllPhysicals(kTRUE),
   fInternalPIDs(kFALSE), fNextInternalPID(1), // 0 reserved
   fLightMask(0x1b), fPad(pad), fComposite(0), fCSLevel(0),
   fAcceptedPhysicals(0), fRejectedPhysicals(0)
 Create OpenGL viewer.
void CreateViewer()
 Menus creation
 ~TViewerOpenGL()
void InitGL()
 Actual GL window/context creation should have already been done in CreateViewer()
void Invalidate(UInt_t redrawLOD)
void MakeCurrent() const
void SwapBuffers() const
Bool_t HandleContainerEvent(Event_t *event)
Bool_t HandleContainerButton(Event_t *event)
Bool_t HandleContainerDoubleClick(Event_t *event)
Bool_t HandleContainerConfigure(Event_t *event)
Bool_t HandleContainerKey(Event_t *event)
Bool_t HandleContainerMotion(Event_t *event)
Bool_t HandleContainerExpose(Event_t *)
void DoSelect(Event_t *event, Bool_t invokeContext)
 Take select lock on scene immediately we enter here - it is released
 in the other (drawing) thread - see TGLViewer::Select()
 Removed when gVirtualGL removed
void Show()
void CloseWindow() 
void DoRedraw()
 Take draw lock on scene immediately we enter here - it is released
 in the other (drawing) drawing thread - see TGLViewer::Draw()
 Removed when gVirtualGL removed
void PrintObjects()
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t)
void ModifyScene(Int_t wid)
Bool_t PreferLocalFrame() const
void BeginScene()
void EndScene()
Bool_t RebuildScene()
 If we accepted all offered physicals into the scene no point in
 rebuilding it
Int_t AddObject(const TBuffer3D & buffer, Bool_t * addChildren)
 Add an object to the viewer, using internal physical IDs
Int_t AddObject(UInt_t physicalID, const TBuffer3D & buffer, Bool_t * addChildren)
 Add an object to the viewer, using an external physical ID.
Int_t ValidateObjectBuffer(const TBuffer3D & buffer, Bool_t logical) const
 kCore: Should always be filled
TGLLogicalShape* CreateNewLogical(const TBuffer3D & buffer) const
 Buffer should now be correctly filled
TGLPhysicalShape* CreateNewPhysical(UInt_t ID, 
                                                    const TBuffer3D & buffer, 
                                                    const TGLLogicalShape & logical) const
 Extract indexed color from buffer
 TODO: Still required? Better use proper color triplet in buffer?
Bool_t OpenComposite(const TBuffer3D & buffer, Bool_t * addChildren)
void CloseComposite()
 If we have a partially complete composite build it now
void AddCompositeOp(UInt_t operation)
RootCsg::BaseMesh* BuildComposite()
Inline Functions
                Bool_t BuildingScene() const
         TViewerOpenGL TViewerOpenGL(const TViewerOpenGL&)
        TViewerOpenGL& operator=(const TViewerOpenGL&)
               TClass* Class()
               TClass* IsA() const
                  void ShowMembers(TMemberInspector& insp, char* parent)
                  void Streamer(TBuffer& b)
                  void StreamerNVirtual(TBuffer& b)
Author: Timur Pocheptsov 03/08/2004
Last update: root/gl:$Name:  $:$Id: TViewerOpenGL.cxx,v 1.69 2005/07/14 19:13:04 brun Exp $
Copyright  (C) 1995-2004, 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.