CMS 3D CMS Logo

TEveEllipsoidGL.h
Go to the documentation of this file.
1 #ifndef ROOT_TEveEllipsoidGL
2 #define ROOT_TEveEllipsoidGL
3 
4 #include "TGLObject.h"
5 #include "TEveVector.h"
6 
7 class TGLViewer;
8 class TGLScene;
9 
10 class TEveEllipsoid;
12 
13 //------------------------------------------------------------------------------
14 // TEveEllipsoid
15 //------------------------------------------------------------------------------
16 
17 class TEveEllipsoidGL : public TGLObject
18 {
19 private:
20  TEveEllipsoidGL(const TEveEllipsoidGL&); // Not implemented
21  TEveEllipsoidGL& operator=(const TEveEllipsoidGL&); // Not implemented
22 
23 
24 protected:
25  TEveEllipsoid *fE; // Model object.
26 
27 public:
29  ~TEveEllipsoidGL() override {}
30 
31  Bool_t SetModel(TObject* obj, const Option_t* opt=nullptr) override;
32  void SetBBox() override;
33 
34  void DirectDraw(TGLRnrCtx & rnrCtx) const override;
35 Bool_t IgnoreSizeForOfInterest() const override { return kTRUE; }
36 
37  ClassDefOverride(TEveEllipsoidGL, 0); // GL renderer class for TEveEllipsoid.
38 };
39 
40 
41 //------------------------------------------------------------------------------
42 // TEveEllipsoidProjectedGL
43 //------------------------------------------------------------------------------
44 
46 {
47 private:
48  TEveEllipsoidProjectedGL(const TEveEllipsoidProjectedGL&); // Not implemented
50 
51  void DrawRhoPhi() const;
52  void DrawRhoZ() const;
53  // void DrawYZ() const;
54  void drawArch(float pStart, float pEnd, float phiStep, TEveVector& v0, TEveVector& v1, TEveVector& v2) const;
55  void drawRhoZAxis(TEveVector& v, TEveVector&) const;
56 protected:
57  TEveEllipsoidProjected *fM; // Model object.
58 
59 public:
62 
63  Bool_t SetModel(TObject* obj, const Option_t* opt=nullptr) override;
64  void SetBBox() override;
65 
66  void DirectDraw(TGLRnrCtx & rnrCtx) const override;
67  ClassDefOverride(TEveEllipsoidProjectedGL, 0); // GL renderer class for TEveEllipsoid.
68 };
69 
70 #endif
TEveEllipsoidGL & operator=(const TEveEllipsoidGL &)
TEveEllipsoid * fE
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Bool_t IgnoreSizeForOfInterest() const override
~TEveEllipsoidGL() override
~TEveEllipsoidProjectedGL() override
TEveEllipsoidProjected * fM
void SetBBox() override
ClassDefOverride(TEveEllipsoidGL, 0)