Go to the documentation of this file.00001 #ifndef ROOT_TEveEllipsoidGL
00002 #define ROOT_TEveEllipsoidGL
00003
00004 #include "TGLObject.h"
00005 #include "TEveVector.h"
00006
00007 class TGLViewer;
00008 class TGLScene;
00009
00010 class TEveEllipsoid;
00011 class TEveEllipsoidProjected;
00012
00013
00014
00015
00016
00017 class TEveEllipsoidGL : public TGLObject
00018 {
00019 private:
00020 TEveEllipsoidGL(const TEveEllipsoidGL&);
00021 TEveEllipsoidGL& operator=(const TEveEllipsoidGL&);
00022
00023
00024 protected:
00025 TEveEllipsoid *fE;
00026
00027 public:
00028 TEveEllipsoidGL();
00029 virtual ~TEveEllipsoidGL() {}
00030
00031 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
00032 virtual void SetBBox();
00033
00034 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
00035 virtual Bool_t IgnoreSizeForOfInterest() const { return kTRUE; }
00036
00037 ClassDef(TEveEllipsoidGL, 0);
00038 };
00039
00040
00041
00042
00043
00044
00045 class TEveEllipsoidProjectedGL : public TEveEllipsoidGL
00046 {
00047 private:
00048 TEveEllipsoidProjectedGL(const TEveEllipsoidProjectedGL&);
00049 TEveEllipsoidProjectedGL& operator=(const TEveEllipsoidProjectedGL&);
00050
00051 void DrawRhoPhi() const;
00052 void DrawRhoZ() const;
00053
00054 void drawArch(float pStart, float pEnd, float phiStep, TEveVector& v0, TEveVector& v1, TEveVector& v2) const;
00055 void drawRhoZAxis(TEveVector& v, TEveVector&) const;
00056 protected:
00057 TEveEllipsoidProjected *fM;
00058
00059 public:
00060 TEveEllipsoidProjectedGL();
00061 virtual ~TEveEllipsoidProjectedGL() {}
00062
00063 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
00064 virtual void SetBBox();
00065
00066 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
00067 ClassDef(TEveEllipsoidProjectedGL, 0);
00068 };
00069
00070 #endif