ROOT logo
// @(#)root/gl:$Id$
// Author:  Olivier Couet 17/04/2007

/*************************************************************************
 * Copyright (C) 1995-2006, 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_TGLAxis
#define ROOT_TGLAxis

#ifndef ROOT_TAttText
#include "TAttText.h"
#endif

#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif

class TString;
class TGLText;

class TGLAxis : public TAttLine, public TAttText {
private:
   TGLAxis(const TGLAxis&);            // Not implemented
   TGLAxis& operator=(const TGLAxis&); // Not implemented

   Int_t     fNDiv;
   Int_t     fNDiv1;
   Int_t     fNDiv2;
   Int_t     fNDiv3;
   Int_t     fNTicks1;
   Int_t     fNTicks2;
   Double_t *fTicks1;
   Double_t *fTicks2;
   TString  *fLabels;
   Double_t  fAxisLength;
   Double_t  fWmin;
   Double_t  fWmax;
   Double_t  fTickMarksLength;
   Int_t     fTickMarksOrientation;
   Double_t  fLabelsOffset;
   Double_t  fLabelsSize;
   Double_t  fGridLength;
   TGLText  *fText;
   Double_t  fAngle1; // 1st labels' angle.
   Double_t  fAngle2; // 2nd labels' angle.
   Double_t  fAngle3; // 3rd labels' angle.

public:
   TGLAxis();
   virtual ~TGLAxis();

   void PaintGLAxis             (const Double_t p1[3], const Double_t p2[3],
                                 Double_t wmin , Double_t wmax , Int_t ndiv,
                                 Option_t *opt="");
   void Init                    ();
   void PaintGLAxisBody         ();
   void PaintGLAxisTickMarks    ();
   void PaintGLAxisLabels       ();
   void TicksPositions          (Option_t *opt="");
   void TicksPositionsNoOpt     ();
   void TicksPositionsOpt       ();
   void DoLabels                ();
   void SetTickMarksLength      (Double_t length){fTickMarksLength = length;}
   void SetTickMarksOrientation (Int_t tmo){fTickMarksOrientation = tmo;}
   void SetLabelsOffset         (Double_t offset){fLabelsOffset = offset;}
   void SetLabelsSize           (Double_t size){fLabelsSize = size;}
   void SetGridLength           (Double_t grid){fGridLength = grid;}
   void SetLabelsAngles         (Double_t a1, Double_t a2, Double_t a3);

   ClassDef(TGLAxis,0) // a GL Axis
};

#endif
 TGLAxis.h:1
 TGLAxis.h:2
 TGLAxis.h:3
 TGLAxis.h:4
 TGLAxis.h:5
 TGLAxis.h:6
 TGLAxis.h:7
 TGLAxis.h:8
 TGLAxis.h:9
 TGLAxis.h:10
 TGLAxis.h:11
 TGLAxis.h:12
 TGLAxis.h:13
 TGLAxis.h:14
 TGLAxis.h:15
 TGLAxis.h:16
 TGLAxis.h:17
 TGLAxis.h:18
 TGLAxis.h:19
 TGLAxis.h:20
 TGLAxis.h:21
 TGLAxis.h:22
 TGLAxis.h:23
 TGLAxis.h:24
 TGLAxis.h:25
 TGLAxis.h:26
 TGLAxis.h:27
 TGLAxis.h:28
 TGLAxis.h:29
 TGLAxis.h:30
 TGLAxis.h:31
 TGLAxis.h:32
 TGLAxis.h:33
 TGLAxis.h:34
 TGLAxis.h:35
 TGLAxis.h:36
 TGLAxis.h:37
 TGLAxis.h:38
 TGLAxis.h:39
 TGLAxis.h:40
 TGLAxis.h:41
 TGLAxis.h:42
 TGLAxis.h:43
 TGLAxis.h:44
 TGLAxis.h:45
 TGLAxis.h:46
 TGLAxis.h:47
 TGLAxis.h:48
 TGLAxis.h:49
 TGLAxis.h:50
 TGLAxis.h:51
 TGLAxis.h:52
 TGLAxis.h:53
 TGLAxis.h:54
 TGLAxis.h:55
 TGLAxis.h:56
 TGLAxis.h:57
 TGLAxis.h:58
 TGLAxis.h:59
 TGLAxis.h:60
 TGLAxis.h:61
 TGLAxis.h:62
 TGLAxis.h:63
 TGLAxis.h:64
 TGLAxis.h:65
 TGLAxis.h:66
 TGLAxis.h:67
 TGLAxis.h:68
 TGLAxis.h:69
 TGLAxis.h:70
 TGLAxis.h:71
 TGLAxis.h:72
 TGLAxis.h:73
 TGLAxis.h:74
 TGLAxis.h:75
 TGLAxis.h:76
 TGLAxis.h:77
 TGLAxis.h:78