Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TEveJetConeGL.h
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel, Jochen Thaeder 2009
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TEveJetConeGL
13 #define ROOT_TEveJetConeGL
14 
15 #include "TGLObject.h"
16 #include "TEveVector.h"
17 
18 class TGLViewer;
19 class TGLScene;
20 
21 class TEveJetCone;
22 class TEveJetConeProjected;
23 
24 //------------------------------------------------------------------------------
25 // TEveJetCone
26 //------------------------------------------------------------------------------
27 
28 class TEveJetConeGL : public TGLObject
29 {
30 private:
31  TEveJetConeGL(const TEveJetConeGL&); // Not implemented
32  TEveJetConeGL& operator=(const TEveJetConeGL&); // Not implemented
33 
34 protected:
35  TEveJetCone *fC; // Model object.
36  mutable std::vector<TEveVector> fP;
37 
38  virtual void CalculatePoints() const;
39 
40 public:
41  TEveJetConeGL();
42  virtual ~TEveJetConeGL() {}
43 
44  virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
45  virtual void SetBBox();
46 
47  virtual void DLCacheClear();
48  virtual void Draw(TGLRnrCtx& rnrCtx) const;
49  virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
50 
51  ClassDef(TEveJetConeGL, 0); // GL renderer class for TEveJetCone.
52 };
53 
54 
55 //------------------------------------------------------------------------------
56 // TEveJetConeProjectedGL
57 //------------------------------------------------------------------------------
58 
59 class TEveJetConeProjectedGL : public TEveJetConeGL
60 {
61 private:
62  TEveJetConeProjectedGL(const TEveJetConeProjectedGL&); // Not implemented
63  TEveJetConeProjectedGL& operator=(const TEveJetConeProjectedGL&); // Not implemented
64 
65 protected:
66  TEveJetConeProjected *fM; // Model object.
67 
68  virtual void CalculatePoints() const;
69 
70  void RenderOutline() const;
71  void RenderPolygon() const;
72 
73 public:
74  TEveJetConeProjectedGL();
75  virtual ~TEveJetConeProjectedGL() {}
76 
77  virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
78  virtual void SetBBox();
79 
80  virtual void Draw(TGLRnrCtx& rnrCtx) const;
81  virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
82 
83  ClassDef(TEveJetConeProjectedGL, 0); // GL renderer class for TEveJetCone.
84 };
85 
86 #endif