]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTPCSector3DGL.h
fix warnings
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTPCSector3DGL.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef AliEveTPCSector3DGL_H
11 #define AliEveTPCSector3DGL_H
12
13 #include <TGLObject.h>
14
15 #include <EveDet/AliEveTPCSectorData.h>
16
17 class TEveBoxSetGL;
18
19 class AliEveTPCSector3D;
20
21 //------------------------------------------------------------------------------
22 // AliEveTPCSector3DGL
23 //
24 // GL renderer for AliEveTPCSector3D.
25 //
26
27 class AliEveTPCSector3DGL : public TGLObject
28 {
29 public:
30   AliEveTPCSector3DGL();
31   virtual ~AliEveTPCSector3DGL();
32
33   virtual Bool_t   ShouldDLCache(const TGLRnrCtx&) const { return kFALSE; }
34   virtual ELODAxes SupportedLODAxes()              const { return kLODAxesAll; }
35   virtual Short_t  QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const;
36
37   virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
38   virtual void   SetBBox();
39
40   void DrawSegmentFrame(const AliEveTPCSectorData::SegmentInfo& s,
41                         Int_t botExtraPads=0, Int_t topExtraPads=0) const;
42
43   virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
44   virtual void   ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec);
45
46 protected:
47   AliEveTPCSector3D  *fSector; // Model object.
48   TEveBoxSetGL       *fBoxRnr; // Box-set GL renderer.
49
50   mutable UInt_t      fRTS;    // Rendering time-stamp.
51
52   virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
53
54 private:
55   AliEveTPCSector3DGL(const AliEveTPCSector3DGL&);            // Not implemented
56   AliEveTPCSector3DGL& operator=(const AliEveTPCSector3DGL&); // Not implemented
57
58   ClassDef(AliEveTPCSector3DGL, 0); // GL renderer for AliEveTPCSector3D.
59 };
60
61 #endif