00001 // @(#)root/gl:$Id: TGLAxis.h 21794 2008-01-21 21:11:46Z matevz $ 00002 // Author: Olivier Couet 17/04/2007 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2006, 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_TGLAxis 00013 #define ROOT_TGLAxis 00014 00015 #ifndef ROOT_TAttText 00016 #include "TAttText.h" 00017 #endif 00018 00019 #ifndef ROOT_TAttLine 00020 #include "TAttLine.h" 00021 #endif 00022 00023 class TString; 00024 class TGLText; 00025 00026 class TGLAxis : public TAttLine, public TAttText { 00027 private: 00028 TGLAxis(const TGLAxis&); // Not implemented 00029 TGLAxis& operator=(const TGLAxis&); // Not implemented 00030 00031 Int_t fNDiv; 00032 Int_t fNDiv1; 00033 Int_t fNDiv2; 00034 Int_t fNDiv3; 00035 Int_t fNTicks1; 00036 Int_t fNTicks2; 00037 Double_t *fTicks1; 00038 Double_t *fTicks2; 00039 TString *fLabels; 00040 Double_t fAxisLength; 00041 Double_t fWmin; 00042 Double_t fWmax; 00043 Double_t fTickMarksLength; 00044 Int_t fTickMarksOrientation; 00045 Double_t fLabelsOffset; 00046 Double_t fLabelsSize; 00047 Double_t fGridLength; 00048 TGLText *fText; 00049 Double_t fAngle1; // 1st labels' angle. 00050 Double_t fAngle2; // 2nd labels' angle. 00051 Double_t fAngle3; // 3rd labels' angle. 00052 00053 public: 00054 TGLAxis(); 00055 virtual ~TGLAxis(); 00056 00057 void PaintGLAxis (const Double_t p1[3], const Double_t p2[3], 00058 Double_t wmin , Double_t wmax , Int_t ndiv, 00059 Option_t *opt=""); 00060 void Init (); 00061 void PaintGLAxisBody (); 00062 void PaintGLAxisTickMarks (); 00063 void PaintGLAxisLabels (); 00064 void TicksPositions (Option_t *opt=""); 00065 void TicksPositionsNoOpt (); 00066 void TicksPositionsOpt (); 00067 void DoLabels (); 00068 void SetTickMarksLength (Double_t length){fTickMarksLength = length;} 00069 void SetTickMarksOrientation (Int_t tmo){fTickMarksOrientation = tmo;} 00070 void SetLabelsOffset (Double_t offset){fLabelsOffset = offset;} 00071 void SetLabelsSize (Double_t size){fLabelsSize = size;} 00072 void SetGridLength (Double_t grid){fGridLength = grid;} 00073 void SetLabelsAngles (Double_t a1, Double_t a2, Double_t a3); 00074 00075 ClassDef(TGLAxis,0) // a GL Axis 00076 }; 00077 00078 #endif