CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 private:
19  TEveEllipsoidGL(const TEveEllipsoidGL&); // Not implemented
20  TEveEllipsoidGL& operator=(const TEveEllipsoidGL&); // Not implemented
21 
22 protected:
23  TEveEllipsoid* fE; // Model object.
24 
25 public:
27  ~TEveEllipsoidGL() override {}
28 
29  Bool_t SetModel(TObject* obj, const Option_t* opt = nullptr) override;
30  void SetBBox() override;
31 
32  void DirectDraw(TGLRnrCtx& rnrCtx) const override;
33  Bool_t IgnoreSizeForOfInterest() const override { return kTRUE; }
34 
35  ClassDefOverride(TEveEllipsoidGL, 0); // GL renderer class for TEveEllipsoid.
36 };
37 
38 //------------------------------------------------------------------------------
39 // TEveEllipsoidProjectedGL
40 //------------------------------------------------------------------------------
41 
43 private:
44  TEveEllipsoidProjectedGL(const TEveEllipsoidProjectedGL&); // Not implemented
46 
47  void DrawRhoPhi() const;
48  void DrawRhoZ() const;
49  // void DrawYZ() const;
50  void drawArch(float pStart, float pEnd, float phiStep, TEveVector& v0, TEveVector& v1, TEveVector& v2) const;
51  void drawRhoZAxis(TEveVector& v, TEveVector&) const;
52 
53 protected:
54  TEveEllipsoidProjected* fM; // Model object.
55 
56 public:
59 
60  Bool_t SetModel(TObject* obj, const Option_t* opt = nullptr) override;
61  void SetBBox() override;
62 
63  void DirectDraw(TGLRnrCtx& rnrCtx) const override;
64  ClassDefOverride(TEveEllipsoidProjectedGL, 0); // GL renderer class for TEveEllipsoid.
65 };
66 
67 #endif
ClassDefOverride(TEveEllipsoidProjectedGL, 0)
TEveEllipsoidGL & operator=(const TEveEllipsoidGL &)
void drawArch(float pStart, float pEnd, float phiStep, TEveVector &v0, TEveVector &v1, TEveVector &v2) const
TEveEllipsoid * fE
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override
~TEveEllipsoidGL() override
void DirectDraw(TGLRnrCtx &rnrCtx) const override
void drawRhoZAxis(TEveVector &v, TEveVector &) const
TEveEllipsoidProjectedGL & operator=(const TEveEllipsoidProjectedGL &)
~TEveEllipsoidProjectedGL() override
void DirectDraw(TGLRnrCtx &rnrCtx) const override
TEveEllipsoidProjected * fM
Bool_t IgnoreSizeForOfInterest() const override
void SetBBox() override
ClassDefOverride(TEveEllipsoidGL, 0)
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override