00001 // @(#)root/eve:$Id: TEveTrackGL.h 32528 2010-03-10 17:02:54Z matevz $ 00002 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TEveTrackGL 00013 #define ROOT_TEveTrackGL 00014 00015 #include "TEveLineGL.h" 00016 00017 class TGLViewer; 00018 class TGLScene; 00019 00020 class TEveTrack; 00021 00022 class TEveTrackGL : public TEveLineGL 00023 { 00024 private: 00025 TEveTrackGL(const TEveTrackGL&); // Not implemented 00026 TEveTrackGL& operator=(const TEveTrackGL&); // Not implemented 00027 00028 protected: 00029 TEveTrack* fTrack; // Model object. 00030 00031 void RenderPathMarksAndFirstVertex(TGLRnrCtx& rnrCtx) const; 00032 00033 public: 00034 TEveTrackGL(); 00035 virtual ~TEveTrackGL() {} 00036 00037 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0); 00038 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const; 00039 00040 virtual Bool_t SupportsSecondarySelect() const { return kTRUE; } 00041 virtual void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec); 00042 00043 ClassDef(TEveTrackGL, 0); // GL-renderer for TEveTrack class. 00044 }; 00045 00046 #endif