2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
10 #ifndef AliEveTPCSector3DGL_H
11 #define AliEveTPCSector3DGL_H
13 #include <TGLObject.h>
15 #include <EveDet/AliEveTPCSectorData.h>
19 class AliEveTPCSector3D;
21 //------------------------------------------------------------------------------
22 // AliEveTPCSector3DGL
24 // GL renderer for AliEveTPCSector3D.
27 class AliEveTPCSector3DGL : public TGLObject
30 AliEveTPCSector3DGL();
31 virtual ~AliEveTPCSector3DGL();
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;
37 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
38 virtual void SetBBox();
40 void DrawSegmentFrame(const AliEveTPCSectorData::SegmentInfo& s,
41 Int_t botExtraPads=0, Int_t topExtraPads=0) const;
43 virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
44 virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec);
47 AliEveTPCSector3D *fSector; // Model object.
48 TEveBoxSetGL *fBoxRnr; // Box-set GL renderer.
50 mutable UInt_t fRTS; // Rendering time-stamp.
52 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
55 AliEveTPCSector3DGL(const AliEveTPCSector3DGL&); // Not implemented
56 AliEveTPCSector3DGL& operator=(const AliEveTPCSector3DGL&); // Not implemented
58 ClassDef(AliEveTPCSector3DGL, 0); // GL renderer for AliEveTPCSector3D.