]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveDet/AliEveTPCSector3DGL.h
Merge changes from branches/dev/EVE. This branch was following development in ROOT...
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTPCSector3DGL.h
CommitLineData
d810d0de 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 *
51346b82 7 * full copyright notice. *
d810d0de 8 **************************************************************************/
9
a15e6d7d 10#ifndef AliEveTPCSector3DGL_H
11#define AliEveTPCSector3DGL_H
d810d0de 12
13#include <TGLObject.h>
14
cb4245bb 15#include <EveDet/AliEveTPCSectorData.h>
d810d0de 16
17class TEveBoxSetGL;
18
d810d0de 19class AliEveTPCSector3D;
20
a15e6d7d 21//------------------------------------------------------------------------------
22// AliEveTPCSector3DGL
23//
24// GL renderer for AliEveTPCSector3D.
25//
26
d810d0de 27class AliEveTPCSector3DGL : public TGLObject
28{
29 AliEveTPCSector3DGL(const AliEveTPCSector3DGL&); // Not implemented
30 AliEveTPCSector3DGL& operator=(const AliEveTPCSector3DGL&); // Not implemented
31
32protected:
a97abca8 33 AliEveTPCSector3D *fSector; // Model object.
34 TEveBoxSetGL *fBoxRnr; // Box-set GL renderer.
d810d0de 35
a97abca8 36 mutable UInt_t fRTS; // Rendering time-stamp.
d810d0de 37
38 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
39
40public:
41 AliEveTPCSector3DGL();
42 virtual ~AliEveTPCSector3DGL();
43
44 virtual Bool_t ShouldDLCache(const TGLRnrCtx&) const { return kFALSE; }
45 virtual ELODAxes SupportedLODAxes() const { return kLODAxesAll; }
46 virtual Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const;
47
48 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
49 virtual void SetBBox();
50
51 void DrawSegmentFrame(const AliEveTPCSectorData::SegmentInfo& s,
52 Int_t botExtraPads=0, Int_t topExtraPads=0) const;
53
54 virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
55 virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec);
56
a97abca8 57 ClassDef(AliEveTPCSector3DGL, 0); // GL renderer for AliEveTPCSector3D.
a15e6d7d 58};
d810d0de 59
60#endif