// @(#)root/eve:$Id$
// Author: Matevz Tadel 2007

/*************************************************************************
 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TEveDigitSetGL
#define ROOT_TEveDigitSetGL

#include "TGLObject.h"
#include "TEveDigitSet.h"

class TGLViewer;
class TGLScene;

class TEveDigitSet;

class TEveDigitSetGL : public TGLObject
{
private:
   TEveDigitSetGL(const TEveDigitSetGL&);            // Not implemented
   TEveDigitSetGL& operator=(const TEveDigitSetGL&); // Not implemented

protected:
   mutable const std::set<Int_t> *fHighlightSet;

   Bool_t SetupColor(const TEveDigitSet::DigitBase_t& q) const;
   void   DrawFrameIfNeeded(TGLRnrCtx& rnrCtx) const;

public:
   TEveDigitSetGL();
   virtual ~TEveDigitSetGL() {}

   virtual void   SetBBox();

   virtual void   DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp, Int_t lvl=-1) const;

   virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
   virtual Bool_t AlwaysSecondarySelect()   const { return ((TEveDigitSet*)fExternalObj)->GetAlwaysSecSelect(); }
   virtual void   ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec);

   ClassDef(TEveDigitSetGL, 0); // GL renderer class for TEveDigitSet.
};

#endif
 TEveDigitSetGL.h:1
 TEveDigitSetGL.h:2
 TEveDigitSetGL.h:3
 TEveDigitSetGL.h:4
 TEveDigitSetGL.h:5
 TEveDigitSetGL.h:6
 TEveDigitSetGL.h:7
 TEveDigitSetGL.h:8
 TEveDigitSetGL.h:9
 TEveDigitSetGL.h:10
 TEveDigitSetGL.h:11
 TEveDigitSetGL.h:12
 TEveDigitSetGL.h:13
 TEveDigitSetGL.h:14
 TEveDigitSetGL.h:15
 TEveDigitSetGL.h:16
 TEveDigitSetGL.h:17
 TEveDigitSetGL.h:18
 TEveDigitSetGL.h:19
 TEveDigitSetGL.h:20
 TEveDigitSetGL.h:21
 TEveDigitSetGL.h:22
 TEveDigitSetGL.h:23
 TEveDigitSetGL.h:24
 TEveDigitSetGL.h:25
 TEveDigitSetGL.h:26
 TEveDigitSetGL.h:27
 TEveDigitSetGL.h:28
 TEveDigitSetGL.h:29
 TEveDigitSetGL.h:30
 TEveDigitSetGL.h:31
 TEveDigitSetGL.h:32
 TEveDigitSetGL.h:33
 TEveDigitSetGL.h:34
 TEveDigitSetGL.h:35
 TEveDigitSetGL.h:36
 TEveDigitSetGL.h:37
 TEveDigitSetGL.h:38
 TEveDigitSetGL.h:39
 TEveDigitSetGL.h:40
 TEveDigitSetGL.h:41
 TEveDigitSetGL.h:42
 TEveDigitSetGL.h:43
 TEveDigitSetGL.h:44
 TEveDigitSetGL.h:45
 TEveDigitSetGL.h:46
 TEveDigitSetGL.h:47
 TEveDigitSetGL.h:48
 TEveDigitSetGL.h:49
 TEveDigitSetGL.h:50