00001 // @(#)root/eve:$Id: TEvePlot3DGL.h 29526 2009-07-20 17:41:53Z matevz $ 00002 // Author: Matevz Tadel, 2009 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2007, 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_TEvePlot3DGL 00013 #define ROOT_TEvePlot3DGL 00014 00015 #include "TGLObject.h" 00016 00017 class TGLViewer; 00018 class TGLScene; 00019 00020 class TEvePlot3D; 00021 class TGLPlot3D; 00022 00023 class TEvePlot3DGL : public TGLObject 00024 { 00025 private: 00026 TEvePlot3DGL(const TEvePlot3DGL&); // Not implemented 00027 TEvePlot3DGL& operator=(const TEvePlot3DGL&); // Not implemented 00028 00029 protected: 00030 TEvePlot3D *fM; // Model object. 00031 TGLPlot3D *fPlotLogical; // Actual painter. 00032 00033 public: 00034 TEvePlot3DGL(); 00035 virtual ~TEvePlot3DGL() {} 00036 00037 virtual Bool_t KeepDuringSmartRefresh() const { return kFALSE; } 00038 00039 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0); 00040 virtual void SetBBox(); 00041 00042 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const; 00043 00044 // To support two-level selection 00045 // virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } 00046 // virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec); 00047 00048 ClassDef(TEvePlot3DGL, 0); // GL renderer class for TEvePlot3D. 00049 }; 00050 00051 #endif