Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TAxis3D.h
Go to the documentation of this file.
1// @(#)root/g3d:$Id$
2// Author: Valery Fine(fine@mail.cern.ch) 07/01/2000
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TAxis3D
13#define ROOT_TAxis3D
14
15//////////////////////////////////////////////////////////////////////////
16// //
17// TAxis3D //
18// //
19// 3D axice //
20// //
21//////////////////////////////////////////////////////////////////////////
22
23
24#include "TAxis.h"
25
26class TF1;
27class TBrowser;
28class TGaxis;
29class TVirtualPad;
30class TView;
31class TAxis3D : public TNamed {
32
33private:
34 Int_t AxisChoice(Option_t *axis) const;
35 void Build();
36
37protected:
38 TAxis fAxis[3]; //X/Y/Z axis
39 TString fOption; // Options (is not use yet)
40 static const char *fgRulerName; // The default object name
41 TAxis *fSelected; //! The selected axis to play with
42 Bool_t fZoomMode; // Zoom mode for the entire parent TPad
43 Bool_t fStickyZoom; // StickyZoom mode: zoom will not be disabled after zooming attempt if true
44
45 void Copy(TObject &hnew) const override;
46 void InitSet();
48
49public:
50 TAxis3D();
52 TAxis3D(const TAxis3D &axis);
53 ~TAxis3D() override{}
54
55 void Browse(TBrowser *b) override;
56
57 Int_t DistancetoPrimitive(Int_t px, Int_t py) override;
58 void ExecuteEvent(Int_t event, Int_t px, Int_t py) override;
59
61 Bool_t & Zoom(){return fZoomMode;}
62
63 virtual Int_t GetNdivisions(Option_t *axis="X") const;
64 virtual Color_t GetAxisColor(Option_t *axis="X") const;
65 virtual Color_t GetLabelColor(Option_t *axis="X") const;
66 virtual Style_t GetLabelFont(Option_t *axis="X") const;
67 virtual Float_t GetLabelOffset(Option_t *axis="X") const;
68 virtual Float_t GetLabelSize(Option_t *axis="X") const;
69 static TAxis3D *GetPadAxis(TVirtualPad *pad=nullptr);
70 virtual Float_t GetTitleOffset(Option_t *axis="X") const;
71 virtual Float_t GetTickLength(Option_t *axis="X") const;
72
73 virtual void GetCenter(Axis_t *center) {fAxis[0].GetCenter(center);}
74
75 virtual void GetLowEdge(Axis_t *edge) {fAxis[0].GetLowEdge(edge);}
76
77 char *GetObjectInfo(Int_t px, Int_t py) const override;
78
79 Option_t *GetOption() const override {return fOption.Data();}
80
81 virtual TAxis *GetXaxis() {return &fAxis[0];}
82 virtual TAxis *GetYaxis() {return &fAxis[1];}
83 virtual TAxis *GetZaxis() {return &fAxis[2];}
84 Bool_t IsFolder() const override { return kTRUE;}
85 void Paint(Option_t *option="") override;
86 void PaintAxis(TGaxis *axis, Float_t ang);
87 static Double_t *PixeltoXYZ(Double_t px, Double_t py, Double_t *point3D, TView *view = nullptr);
88 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
89
90 virtual void SetAxisColor(Color_t color=1, Option_t *axis="*"); // *MENU*
91 virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="*");
92
93 virtual void SetLabelColor(Color_t color=1, Option_t *axis="*");// *MENU*
94 virtual void SetLabelFont(Style_t font=62, Option_t *axis="*"); // *MENU*
95 virtual void SetLabelOffset(Float_t offset=0.005, Option_t *axis="*"); // *MENU*
96 virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="*"); // *MENU*
97
98 virtual void SetNdivisions(Int_t n=510, Option_t *axis="*"); // *MENU*
99 virtual void SetOption(Option_t *option=" ") {fOption = option;}
100 virtual void SetTickLength(Float_t length=0.02, Option_t *axis="*"); // *MENU*
101 virtual void SetTitleOffset(Float_t offset=1, Option_t *axis="*"); // *MENU*
102 virtual void SetXTitle(const char *title) {fAxis[0].SetTitle(title);} // *MENU*
103 virtual void SetYTitle(const char *title) {fAxis[1].SetTitle(title);} // *MENU*
104 virtual void SetZTitle(const char *title) {fAxis[2].SetTitle(title);} // *MENU*
105 static TAxis3D *ToggleRulers(TVirtualPad *pad = nullptr);
106 static TAxis3D *ToggleZoom(TVirtualPad *pad = nullptr);
107 void UseCurrentStyle() override;
108
109 ClassDefOverride(TAxis3D,1) //3-D ruler painting class
110};
111
112
114
115#endif
#define b(i)
Definition RSha256.hxx:100
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
short Style_t
Definition RtypesCore.h:89
int Int_t
Definition RtypesCore.h:45
short Color_t
Definition RtypesCore.h:92
float Float_t
Definition RtypesCore.h:57
double Double_t
Definition RtypesCore.h:59
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
float xmin
float xmax
The 3D axis painter class.
Definition TAxis3D.h:31
static TAxis3D * ToggleRulers(TVirtualPad *pad=nullptr)
Turn ON / OFF the "Ruler", TAxis3D object attached to the current pad.
Definition TAxis3D.cxx:738
virtual void SetOption(Option_t *option=" ")
Definition TAxis3D.h:99
virtual Float_t GetLabelSize(Option_t *axis="X") const
Get label size.
Definition TAxis3D.cxx:605
virtual void SetZTitle(const char *title)
Definition TAxis3D.h:104
Bool_t SwitchZoom()
Definition TAxis3D.h:113
virtual void SetNdivisions(Int_t n=510, Option_t *axis="*")
Set number of divisions.
Definition TAxis3D.cxx:643
virtual TAxis * GetZaxis()
Definition TAxis3D.h:83
void UseCurrentStyle() override
Replace current attributes by current style.
Definition TAxis3D.cxx:490
~TAxis3D() override
Definition TAxis3D.h:53
void Paint(Option_t *option="") override
Paint axis over 3D view on the TPad.
Definition TAxis3D.cxx:310
void PaintAxis(TGaxis *axis, Float_t ang)
Draw the axis for TView object.
Definition TAxis3D.cxx:323
virtual void SetLabelOffset(Float_t offset=0.005, Option_t *axis="*")
Set label offset.
Definition TAxis3D.cxx:688
void Browse(TBrowser *b) override
Add all 3 axes to the TBrowser.
Definition TAxis3D.cxx:164
Bool_t IsFolder() const override
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition TAxis3D.h:84
virtual void SetLabelFont(Style_t font=62, Option_t *axis="*")
Set label font.
Definition TAxis3D.cxx:680
TAxis fAxis[3]
Definition TAxis3D.h:38
virtual void SetYTitle(const char *title)
Definition TAxis3D.h:103
virtual Style_t GetLabelFont(Option_t *axis="X") const
Get label font.
Definition TAxis3D.cxx:585
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
Definition TAxis3D.cxx:480
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
Definition TAxis3D.cxx:190
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a line.
Definition TAxis3D.cxx:172
virtual Float_t GetLabelOffset(Option_t *axis="X") const
Get label offset.
Definition TAxis3D.cxx:595
virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="*")
Set axis range.
Definition TAxis3D.cxx:659
virtual Float_t GetTickLength(Option_t *axis="X") const
Get tick mark length.
Definition TAxis3D.cxx:615
virtual TAxis * GetXaxis()
Definition TAxis3D.h:81
virtual void SetLabelSize(Float_t size=0.02, Option_t *axis="*")
Set label size.
Definition TAxis3D.cxx:696
Int_t AxisChoice(Option_t *axis) const
Return the axis index by its name.
Definition TAxis3D.cxx:543
static TAxis3D * GetPadAxis(TVirtualPad *pad=nullptr)
Returns the "pad" Axis3D object pointer if any.
Definition TAxis3D.cxx:721
Bool_t & StickyZoom()
Definition TAxis3D.h:60
virtual void GetCenter(Axis_t *center)
Definition TAxis3D.h:73
virtual Color_t GetAxisColor(Option_t *axis="X") const
Get axis color.
Definition TAxis3D.cxx:565
Option_t * GetOption() const override
Definition TAxis3D.h:79
virtual void SetAxisColor(Color_t color=1, Option_t *axis="*")
Set axis color.
Definition TAxis3D.cxx:651
char * GetObjectInfo(Int_t px, Int_t py) const override
Dummy method returns the const char * to "axis3d".
Definition TAxis3D.cxx:302
virtual Color_t GetLabelColor(Option_t *axis="X") const
Get label color.
Definition TAxis3D.cxx:575
virtual TAxis * GetYaxis()
Definition TAxis3D.h:82
Bool_t fZoomMode
The selected axis to play with.
Definition TAxis3D.h:42
virtual Float_t GetTitleOffset(Option_t *axis="X") const
Get title offset.
Definition TAxis3D.cxx:625
static TAxis3D * ToggleZoom(TVirtualPad *pad=nullptr)
Turn ON / OFF the "Ruler" and "zoom mode" of the TAxis3D object attached to the current pad (if pad =...
Definition TAxis3D.cxx:766
void InitSet()
Initialization.
Definition TAxis3D.cxx:149
virtual Int_t GetNdivisions(Option_t *axis="X") const
Get number of divisions.
Definition TAxis3D.cxx:555
void Copy(TObject &hnew) const override
Copy axis3d.
Definition TAxis3D.cxx:139
static const char * fgRulerName
Definition TAxis3D.h:40
virtual void SetTickLength(Float_t length=0.02, Option_t *axis="*")
Set tick mark length.
Definition TAxis3D.cxx:704
virtual void SetXTitle(const char *title)
Definition TAxis3D.h:102
void Build()
TString fOption
Definition TAxis3D.h:39
virtual void SetLabelColor(Color_t color=1, Option_t *axis="*")
Set label color.
Definition TAxis3D.cxx:672
Bool_t fStickyZoom
Definition TAxis3D.h:43
TAxis3D()
Normal constructor.
Definition TAxis3D.cxx:109
static Double_t * PixeltoXYZ(Double_t px, Double_t py, Double_t *point3D, TView *view=nullptr)
Convert "screen pixel" coordinates to some center of 3D WC coordinate if view and gPad present.
Definition TAxis3D.cxx:457
virtual void SetTitleOffset(Float_t offset=1, Option_t *axis="*")
Set title offset.
Definition TAxis3D.cxx:712
virtual void GetLowEdge(Axis_t *edge)
Definition TAxis3D.h:75
TAxis * fSelected
Definition TAxis3D.h:41
Bool_t & Zoom()
Definition TAxis3D.h:61
Class to manage histogram axis.
Definition TAxis.h:31
virtual void GetCenter(Double_t *center) const
Return an array with the center of all bins.
Definition TAxis.cxx:553
virtual void GetLowEdge(Double_t *edge) const
Return an array with the low edge of all bins.
Definition TAxis.cxx:562
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
1-Dim function class
Definition TF1.h:233
The axis painter class.
Definition TGaxis.h:24
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition TNamed.cxx:164
Mother of all ROOT objects.
Definition TObject.h:41
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376
See TView3D.
Definition TView.h:25
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition TVirtualPad.h:51
const Int_t n
Definition legend1.C:16