TEveProjectionAxes.h

Go to the documentation of this file.
00001 // @(#)root/eve:$Id: TEveProjectionAxes.h 32478 2010-03-05 14:20:48Z matevz $
00002 // Author: Matevz Tadel 2007
00003 
00004 /*************************************************************************
00005 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
00006 * All rights reserved.                                                  *
00007 *                                                                       *
00008 * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010 *************************************************************************/
00011 
00012 #ifndef ROOT_TEveProjectionAxes
00013 #define ROOT_TEveProjectionAxes
00014 
00015 #include "TNamed.h"
00016 #include "TAtt3D.h"
00017 #include "TAttBBox.h"
00018 #include "TAttAxis.h"
00019 
00020 #include "TEveElement.h"
00021 
00022 class TEveProjectionManager;
00023 
00024 class TEveProjectionAxes : public TEveElement,
00025                            public TNamed,
00026                            public TAtt3D,
00027                            public TAttBBox,
00028                            public TAttAxis
00029 {
00030    friend class TEveProjectionAxesGL;
00031 
00032 public:
00033    enum ELabMode { kPosition, kValue };
00034    enum EAxesMode { kHorizontal, kVertical, kAll};
00035 
00036 private:
00037    TEveProjectionAxes(const TEveProjectionAxes&);            // Not implemented
00038    TEveProjectionAxes& operator=(const TEveProjectionAxes&); // Not implemented
00039 
00040 protected:
00041    TEveProjectionManager*  fManager;  // Model object.
00042 
00043    Bool_t  fUseColorSet;
00044 
00045    ELabMode  fLabMode;                // Division of distorted space.
00046    EAxesMode fAxesMode;               // Axis vertical/hotrizontal orientation.
00047 
00048    Bool_t fDrawCenter;           // Draw center of distortion.
00049    Bool_t fDrawOrigin;           // Draw origin.
00050 
00051 
00052 public:
00053    TEveProjectionAxes(TEveProjectionManager* m, Bool_t useColorSet = kTRUE);
00054    virtual ~TEveProjectionAxes();
00055 
00056    TEveProjectionManager* GetManager()      { return fManager; }
00057 
00058    void            SetLabMode(ELabMode x)   { fLabMode = x; }
00059    ELabMode        GetLabMode()   const     { return fLabMode;}
00060    void            SetAxesMode(EAxesMode x) { fAxesMode = x; }
00061    EAxesMode       GetAxesMode()   const    { return fAxesMode; }
00062 
00063    void            SetDrawCenter(Bool_t x)   { fDrawCenter = x; }
00064    Bool_t          GetDrawCenter() const     { return fDrawCenter; }
00065    void            SetDrawOrigin(Bool_t x)   { fDrawOrigin = x; }
00066    Bool_t          GetDrawOrigin() const     { return fDrawOrigin; }
00067 
00068    virtual void    Paint(Option_t* option="");
00069    virtual void    ComputeBBox();
00070 
00071    virtual const   TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
00072 
00073    ClassDef(TEveProjectionAxes, 1); // Class to draw scales in non-linear projections.
00074 };
00075 
00076 #endif

Generated on Tue Jul 5 14:14:58 2011 for ROOT_528-00b_version by  doxygen 1.5.1