TViewer3DPad.h

Go to the documentation of this file.
00001 // @(#)root/gpad:$Id: TViewer3DPad.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Richard Maunder  10/3/2005
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TViewer3DPad
00013 #define ROOT_TViewer3DPad
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 // TViewer3DPad                                                         //
00018 //                                                                      //
00019 // Provides 3D viewer interface (TVirtualViewer3D) support on a pad.    //
00020 // Will be merged with TView / TView3D eventually.                      //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #ifndef ROOT_TVirtualViewer3D
00025 #include "TVirtualViewer3D.h"
00026 #endif
00027 
00028 class TVirtualPad;
00029 
00030 class TViewer3DPad : public TVirtualViewer3D {
00031 private:
00032    TVirtualPad &  fPad; // the pad we paint into.
00033    Bool_t         fBuilding; // is scene being built?
00034 
00035    // Non-copyable
00036    TViewer3DPad(const TViewer3DPad &);
00037    TViewer3DPad & operator = (const TViewer3DPad &);
00038 
00039 public:
00040    TViewer3DPad(TVirtualPad & pad) : fPad(pad), fBuilding(kFALSE) {};
00041    ~TViewer3DPad() {};
00042 
00043    virtual Bool_t PreferLocalFrame() const;
00044    virtual void   BeginScene();
00045    virtual Bool_t BuildingScene() const { return fBuilding; }
00046    virtual void   EndScene();
00047    virtual Int_t  AddObject(const TBuffer3D & buffer, Bool_t * addChildren = 0);
00048    virtual Int_t  AddObject(UInt_t placedID, const TBuffer3D & buffer, Bool_t * addChildren = 0);
00049 
00050    // Composite shapes not supported on this viewer currently - ignore.
00051    // Will result in a set of individual component shapes
00052    virtual Bool_t OpenComposite(const TBuffer3D & buffer, Bool_t * addChildren = 0);
00053    virtual void   CloseComposite();
00054    virtual void   AddCompositeOp(UInt_t operation);
00055 
00056    ClassDef(TViewer3DPad,0)  //A 3D Viewer painter for TPads
00057 };
00058 
00059 #endif

Generated on Tue Jul 5 14:13:58 2011 for ROOT_528-00b_version by  doxygen 1.5.1