TEveJetConeGL.h

Go to the documentation of this file.
00001 // @(#)root/eve:$Id: TEveJetConeGL.h 35221 2010-09-10 11:46:37Z matevz $
00002 // Author: Matevz Tadel, Jochen Thaeder 2009
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_TEveJetConeGL
00013 #define ROOT_TEveJetConeGL
00014 
00015 #include "TGLObject.h"
00016 #include "TEveVector.h"
00017 
00018 class TGLViewer;
00019 class TGLScene;
00020 
00021 class TEveJetCone;
00022 class TEveJetConeProjected;
00023 
00024 //------------------------------------------------------------------------------
00025 // TEveJetCone
00026 //------------------------------------------------------------------------------
00027 
00028 class TEveJetConeGL : public TGLObject
00029 {
00030 private:
00031    TEveJetConeGL(const TEveJetConeGL&);            // Not implemented
00032    TEveJetConeGL& operator=(const TEveJetConeGL&); // Not implemented
00033 
00034 protected:
00035    TEveJetCone                     *fC;  // Model object.
00036    mutable std::vector<TEveVector>  fP;
00037 
00038    virtual void CalculatePoints() const;
00039 
00040 public:
00041    TEveJetConeGL();
00042    virtual ~TEveJetConeGL() {}
00043 
00044    virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
00045    virtual void   SetBBox();
00046 
00047    virtual void   DLCacheClear();
00048    virtual void   Draw(TGLRnrCtx& rnrCtx) const;
00049    virtual void   DirectDraw(TGLRnrCtx & rnrCtx) const;
00050 
00051    ClassDef(TEveJetConeGL, 0); // GL renderer class for TEveJetCone.
00052 };
00053 
00054 
00055 //------------------------------------------------------------------------------
00056 // TEveJetConeProjectedGL
00057 //------------------------------------------------------------------------------
00058 
00059 class TEveJetConeProjectedGL : public TEveJetConeGL
00060 {
00061 private:
00062    TEveJetConeProjectedGL(const TEveJetConeProjectedGL&);            // Not implemented
00063    TEveJetConeProjectedGL& operator=(const TEveJetConeProjectedGL&); // Not implemented
00064 
00065 protected:
00066    TEveJetConeProjected  *fM;  // Model object.
00067 
00068    virtual void CalculatePoints() const;
00069 
00070    void RenderOutline() const;
00071    void RenderPolygon() const;
00072 
00073 public:
00074    TEveJetConeProjectedGL();
00075    virtual ~TEveJetConeProjectedGL() {}
00076 
00077    virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
00078    virtual void   SetBBox();
00079 
00080    virtual void   Draw(TGLRnrCtx& rnrCtx) const;
00081    virtual void   DirectDraw(TGLRnrCtx & rnrCtx) const;
00082 
00083    ClassDef(TEveJetConeProjectedGL, 0); // GL renderer class for TEveJetCone.
00084 };
00085 
00086 #endif

Generated on Tue Jul 5 14:14:57 2011 for ROOT_528-00b_version by  doxygen 1.5.1