Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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#include <set>
19
20class TGLViewer;
21class TGLScene;
22
23class TEveDigitSet;
24
26{
27private:
28 TEveDigitSetGL(const TEveDigitSetGL&); // Not implemented
29 TEveDigitSetGL& operator=(const TEveDigitSetGL&); // Not implemented
30
31protected:
32 mutable const std::set<Int_t> *fHighlightSet;
33
35 void DrawFrameIfNeeded(TGLRnrCtx& rnrCtx) const;
36
37public:
39 ~TEveDigitSetGL() override {}
40
41 void SetBBox() override;
42
43 void DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp, Int_t lvl=-1) const override;
44
45 Bool_t SupportsSecondarySelect() const override { return kTRUE; }
46 Bool_t AlwaysSecondarySelect() const override { return ((TEveDigitSet*)fExternalObj)->GetAlwaysSecSelect(); }
47 void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec) override;
48
49 ClassDefOverride(TEveDigitSetGL, 0); // GL renderer class for TEveDigitSet.
50};
51
52#endif
int Int_t
Definition RtypesCore.h:45
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
float * q
OpenGL renderer class for TEveDigitSet.
Bool_t AlwaysSecondarySelect() const override
const std::set< Int_t > * fHighlightSet
~TEveDigitSetGL() override
void ProcessSelection(TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) override
Processes secondary selection from TGLViewer.
Bool_t SupportsSecondarySelect() const override
TEveDigitSetGL(const TEveDigitSetGL &)
void DrawFrameIfNeeded(TGLRnrCtx &rnrCtx) const
Make a decision if the frame should be drawn.
void DrawHighlight(TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const override
Draw the quad-set in highlight mode.
Bool_t SetupColor(const TEveDigitSet::DigitBase_t &q) const
Set color for rendering of the specified digit.
TEveDigitSetGL & operator=(const TEveDigitSetGL &)
void SetBBox() override
Set bounding box.
TEveDigitSetGL()
Constructor.
Base-class for storage of digit collections; provides transformation matrix (TEveTrans),...
TObject * fExternalObj
first replica
Base-class for direct OpenGL renderers.
Definition TGLObject.h:22
Concrete physical shape - a GL drawable.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Definition TGLRnrCtx.h:41
TGLScene provides management and rendering of ROOT's default 3D /object representation as logical and...
Definition TGLScene.h:29
Standard selection record including information about containing scene and details ob out selected ob...
Base GL viewer object - used by both standalone and embedded (in pad) GL.
Definition TGLViewer.h:55