00001 // @(#)root/eve:$Id: TEveDigitSetGL.h 33124 2010-04-21 20:04:42Z matevz $ 00002 // Author: Matevz Tadel 2007 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_TEveDigitSetGL 00013 #define ROOT_TEveDigitSetGL 00014 00015 #include "TGLObject.h" 00016 #include "TEveDigitSet.h" 00017 00018 class TGLViewer; 00019 class TGLScene; 00020 00021 class TEveDigitSet; 00022 00023 class TEveDigitSetGL : public TGLObject 00024 { 00025 private: 00026 TEveDigitSetGL(const TEveDigitSetGL&); // Not implemented 00027 TEveDigitSetGL& operator=(const TEveDigitSetGL&); // Not implemented 00028 00029 protected: 00030 mutable const std::set<Int_t> *fHighlightSet; 00031 00032 Bool_t SetupColor(const TEveDigitSet::DigitBase_t& q) const; 00033 00034 public: 00035 TEveDigitSetGL(); 00036 virtual ~TEveDigitSetGL() {} 00037 00038 virtual void SetBBox(); 00039 00040 virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp, Int_t lvl=-1) const; 00041 00042 virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } 00043 virtual Bool_t AlwaysSecondarySelect() const { return ((TEveDigitSet*)fExternalObj)->GetAlwaysSecSelect(); } 00044 virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec); 00045 00046 ClassDef(TEveDigitSetGL, 0); // GL renderer class for TEveDigitSet. 00047 }; 00048 00049 #endif