00001 // @(#)root/gl:$Id: TH2GL.h 29526 2009-07-20 17:41:53Z matevz $ 00002 // Author: Matevz Tadel, Jun 2007 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_TH2GL 00013 #define ROOT_TH2GL 00014 00015 #include <TGLPlot3D.h> 00016 #include <TGLUtil.h> 00017 #include <TGLAxisPainter.h> 00018 00019 class TGLRnrCtx; 00020 class TH2; 00021 class TAxis; 00022 00023 class TH2GL : public TGLPlot3D 00024 { 00025 private: 00026 TH2GL(const TH2GL&); // Not implemented 00027 TH2GL& operator=(const TH2GL&); // Not implemented 00028 00029 protected: 00030 TH2 *fM; // Model object dynamic-casted to TH2. 00031 00032 public: 00033 TH2GL(); 00034 virtual ~TH2GL(); 00035 00036 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0); 00037 virtual void SetBBox(); 00038 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const; 00039 00040 // To support two-level selection 00041 // virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } 00042 // virtual void ProcessSelection(UInt_t* ptr, TGLViewer*, TGLScene*); 00043 00044 ClassDef(TH2GL, 0); // GL renderer for TH2. 00045 }; // endclass TH2GL 00046 00047 #endif