// @(#)root/eve:$Id: TEveProjectionAxes.h 25899 2008-10-20 20:13:38Z matevz $ // Author: Matevz Tadel 2007 /************************************************************************* * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TEveProjectionAxes #define ROOT_TEveProjectionAxes #include "TNamed.h" #include "TAtt3D.h" #include "TAttBBox.h" #include "TEveElement.h" #include "TGLAxisPainter.h" class TEveProjectionManager; class TEveProjectionAxes : public TEveElement, public TNamed, public TAtt3D, public TAttBBox, public TGLAxisAttrib { friend class TEveProjectionAxesGL; public: enum ELabMode { kPosition, kValue }; enum EAxesMode { kHorizontal, kVertical, kAll}; private: TEveProjectionAxes(const TEveProjectionAxes&); // Not implemented TEveProjectionAxes& operator=(const TEveProjectionAxes&); // Not implemented protected: TEveProjectionManager* fManager; // model object Color_t fColor; ELabMode fLabMode; // tick-mark positioning EAxesMode fAxesMode; Bool_t fDrawCenter; // draw center of distortion Bool_t fDrawOrigin; // draw origin public: TEveProjectionAxes(TEveProjectionManager* m); virtual ~TEveProjectionAxes(); TEveProjectionManager* GetManager(){ return fManager; } void SetLabMode(ELabMode x) { fLabMode = x; } ELabMode GetLabMode() const { return fLabMode; } void SetAxesMode(EAxesMode x) { fAxesMode = x; } EAxesMode GetAxesMode() const { return fAxesMode; } void SetDrawCenter(Bool_t x){ fDrawCenter = x; } Bool_t GetDrawCenter() const { return fDrawCenter; } void SetDrawOrigin(Bool_t x){ fDrawOrigin = x; } Bool_t GetDrawOrigin() const { return fDrawOrigin; } virtual Bool_t CanEditMainColor() const { return kTRUE; } virtual void Paint(Option_t* option=""); virtual void ComputeBBox(); virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE); ClassDef(TEveProjectionAxes, 1); // Class to draw scales in non-linear projections. }; #endif