]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Reve/GLUtilNS.h
Dummy methods DefineParticle required by the interface added.
[u/mrichter/AliRoot.git] / EVE / Reve / GLUtilNS.h
1 #ifndef Reve_GLUtilNS_H
2 #define Reve_GLUtilNS_H
3 #ifndef __CINT__
4
5 #include <TGLIncludes.h>
6 #include <TObject.h>
7
8 class TAttMarker;
9 class TAttLine;
10
11 namespace GLUtilNS
12 {
13
14 class GL_Capability_Switch {
15   GLenum    fWhat;
16   GLboolean fState;
17   bool      fFlip;
18
19   void set_state(GLboolean s)
20   { if(s) glEnable(fWhat); else glDisable(fWhat); }
21
22 public:
23   GL_Capability_Switch(GLenum what, GLboolean state) :
24     fWhat(what), fState(kFALSE), fFlip(kFALSE)
25   {
26     fState = glIsEnabled(fWhat);
27     fFlip  = (fState != state);
28     if(fFlip)   set_state(state);
29   }
30   ~GL_Capability_Switch()
31   { if(fFlip) set_state(fState); }
32 };
33
34 class GL_Float_Holder
35 {
36   GL_Float_Holder(const GL_Float_Holder&);            // Not implemented
37   GL_Float_Holder& operator=(const GL_Float_Holder&); // Not implemented
38
39   GLenum    fWhat;
40   GLfloat   fState;
41   bool      fFlip;
42   void    (*fFoo)(GLfloat);
43
44 public:
45   GL_Float_Holder(GLenum what, GLfloat state, void (*foo)(GLfloat)) :
46     fWhat(what), fState(kFALSE), fFlip(kFALSE), fFoo(foo)
47   {
48     glGetFloatv(fWhat, &fState);
49     fFlip = (fState != state);
50     if(fFlip) fFoo(state);
51   }
52   ~GL_Float_Holder()
53   { if(fFlip) fFoo(fState); }
54 };
55
56 void RenderLine(const TAttLine& al, Float_t* p, Int_t n, 
57                        Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE);
58
59 void RenderPolyMarkers(const TAttMarker& marker, Float_t* p, Int_t n, 
60                        Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE);
61
62 void RenderPoints(const TAttMarker& marker, Float_t* p, Int_t n,
63                   Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE);
64
65 void RenderCrosses(const TAttMarker& marker, Float_t* p, Int_t n, Bool_t sec_selection=kFALSE);
66
67 }
68
69 #endif
70 #endif