Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TEveDigitSetGL.h
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TEveDigitSetGL
13 #define ROOT_TEveDigitSetGL
14 
15 #include "TGLObject.h"
16 #include "TEveDigitSet.h"
17 
18 class TGLViewer;
19 class TGLScene;
20 
21 class TEveDigitSet;
22 
23 class TEveDigitSetGL : public TGLObject
24 {
25 private:
26  TEveDigitSetGL(const TEveDigitSetGL&); // Not implemented
27  TEveDigitSetGL& operator=(const TEveDigitSetGL&); // Not implemented
28 
29 protected:
30  mutable const std::set<Int_t> *fHighlightSet;
31 
32  Bool_t SetupColor(const TEveDigitSet::DigitBase_t& q) const;
33  void DrawFrameIfNeeded(TGLRnrCtx& rnrCtx) const;
34 
35 public:
36  TEveDigitSetGL();
37  virtual ~TEveDigitSetGL() {}
38 
39  virtual void SetBBox();
40 
41  virtual void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp, Int_t lvl=-1) const;
42 
43  virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
44  virtual Bool_t AlwaysSecondarySelect() const { return ((TEveDigitSet*)fExternalObj)->GetAlwaysSecSelect(); }
45  virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec);
46 
47  ClassDef(TEveDigitSetGL, 0); // GL renderer class for TEveDigitSet.
48 };
49 
50 #endif