Warning, file /include/root/TView.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef ROOT_TView
0014 #define ROOT_TView
0015
0016
0017 #include "TObject.h"
0018
0019 #include "TAttLine.h"
0020
0021 class TList;
0022 class TSeqCollection;
0023 class TVirtualPad;
0024
0025 class TView : public TObject, public TAttLine {
0026
0027 public:
0028
0029 TView() {}
0030 ~TView() override = default;
0031
0032 virtual void DefinePerspectiveView() = 0;
0033 virtual void AxisVertex(Double_t ang, Double_t *av, Int_t &ix1, Int_t &ix2, Int_t &iy1, Int_t &iy2, Int_t &iz1, Int_t &iz2) = 0;
0034 virtual void DefineViewDirection(const Double_t *s, const Double_t *c,
0035 Double_t cosphi, Double_t sinphi,
0036 Double_t costhe, Double_t sinthe,
0037 Double_t cospsi, Double_t sinpsi,
0038 Double_t *tnorm, Double_t *tback) = 0;
0039 virtual void DrawOutlineCube(TList *outline, Double_t *rmin, Double_t *rmax) = 0;
0040 void ExecuteEvent(Int_t event, Int_t px, Int_t py) override = 0;
0041 virtual void ExecuteRotateView(Int_t event, Int_t px, Int_t py) = 0;
0042 virtual void FindScope(Double_t *scale, Double_t *center, Int_t &irep) = 0;
0043 virtual Int_t GetDistancetoAxis(Int_t axis, Int_t px, Int_t py, Double_t &ratio) = 0;
0044 virtual Double_t GetDview() const = 0;
0045 virtual Double_t GetDproj() const = 0;
0046 virtual Double_t GetExtent() const = 0;
0047 virtual Bool_t GetAutoRange() = 0;
0048 virtual Double_t GetLatitude() = 0;
0049 virtual Double_t GetLongitude() = 0;
0050 virtual Double_t GetPsi() = 0;
0051 virtual void GetRange (Float_t *min, Float_t *max) = 0;
0052 virtual void GetRange (Double_t *min, Double_t *max) = 0;
0053 virtual Double_t *GetRmax() = 0;
0054 virtual Double_t *GetRmin() = 0;
0055 virtual TSeqCollection *GetOutline() = 0;
0056 virtual Double_t *GetTback() = 0;
0057 virtual Double_t *GetTN() = 0;
0058 virtual Double_t *GetTnorm() = 0;
0059 virtual Int_t GetSystem() = 0;
0060 virtual void GetWindow(Double_t &u0, Double_t &v0, Double_t &du, Double_t &dv) const = 0;
0061 virtual Double_t GetWindowWidth() const = 0;
0062 virtual Double_t GetWindowHeight() const = 0;
0063 virtual void FindNormal(Double_t x, Double_t y, Double_t z, Double_t &zn) = 0;
0064 virtual void FindPhiSectors(Int_t iopt, Int_t &kphi, Double_t *aphi, Int_t &iphi1, Int_t &iphi2) = 0;
0065 virtual void FindThetaSectors(Int_t iopt, Double_t phi, Int_t &kth, Double_t *ath, Int_t &ith1, Int_t &ith2) = 0;
0066 virtual Bool_t IsClippedNDC(Double_t *p) const = 0;
0067 virtual Bool_t IsPerspective() const = 0;
0068 virtual Bool_t IsViewChanged() const = 0;
0069 virtual void NDCtoWC(const Float_t *pn, Float_t *pw) = 0;
0070 virtual void NDCtoWC(const Double_t *pn, Double_t *pw) = 0;
0071 virtual void NormalWCtoNDC(const Float_t *pw, Float_t *pn) = 0;
0072 virtual void NormalWCtoNDC(const Double_t *pw, Double_t *pn) = 0;
0073 virtual void PadRange(Int_t rback) = 0;
0074 virtual void ResizePad() = 0;
0075 virtual void SetAutoRange(Bool_t autorange=kTRUE) = 0;
0076 virtual void SetAxisNDC(const Double_t *x1, const Double_t *x2, const Double_t *y1, const Double_t *y2, const Double_t *z1, const Double_t *z2) = 0;
0077 virtual void SetDefaultWindow() = 0;
0078 virtual void SetDview(Double_t dview) = 0;
0079 virtual void SetDproj(Double_t dproj) = 0;
0080 virtual void SetLatitude(Double_t latitude) = 0;
0081 virtual void SetLongitude(Double_t longitude) = 0;
0082 virtual void SetPsi(Double_t psi) = 0;
0083 virtual void SetOutlineToCube() = 0;
0084 virtual void SetParallel() = 0;
0085 virtual void SetPerspective() = 0;
0086 virtual void SetRange(const Double_t *min, const Double_t *max) = 0;
0087 virtual void SetRange(Double_t x0, Double_t y0, Double_t z0, Double_t x1, Double_t y1, Double_t z1, Int_t flag=0) = 0;
0088 virtual void SetSystem(Int_t system) = 0;
0089 virtual void SetView(Double_t longitude, Double_t latitude, Double_t psi, Int_t &irep) = 0;
0090 virtual void SetViewChanged(Bool_t flag=kTRUE) = 0;
0091 virtual void SetWindow(Double_t u0, Double_t v0, Double_t du, Double_t dv) = 0;
0092 virtual void WCtoNDC(const Float_t *pw, Float_t *pn) = 0;
0093 virtual void WCtoNDC(const Double_t *pw, Double_t *pn) = 0;
0094
0095
0096 virtual void MoveFocus(Double_t *center, Double_t dx, Double_t dy, Double_t dz, Int_t nsteps=10,
0097 Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0) = 0;
0098 virtual void MoveViewCommand(Char_t chCode, Int_t count=1) = 0;
0099 virtual void MoveWindow(Char_t option) = 0;
0100
0101 virtual void AdjustScales(TVirtualPad *pad = nullptr) = 0;
0102 virtual void Centered3DImages(TVirtualPad *pad = nullptr) = 0;
0103 virtual void Centered() = 0;
0104 virtual void FrontView(TVirtualPad *pad = nullptr) = 0;
0105 virtual void Front() = 0;
0106
0107 virtual void ZoomIn() = 0;
0108 virtual void ZoomOut() = 0;
0109 virtual void ZoomView(TVirtualPad *pad = nullptr, Double_t zoomFactor = 1.25 ) = 0;
0110 virtual void UnzoomView(TVirtualPad *pad = nullptr, Double_t unZoomFactor = 1.25) = 0;
0111
0112 virtual void RotateView(Double_t phi, Double_t theta, TVirtualPad *pad = nullptr) = 0;
0113 virtual void SideView(TVirtualPad *pad = nullptr) = 0;
0114 virtual void Side() = 0;
0115 virtual void TopView(TVirtualPad *pad = nullptr) = 0;
0116 virtual void Top() = 0;
0117
0118 virtual void ToggleRulers(TVirtualPad *pad = nullptr) = 0;
0119 virtual void ShowAxis() = 0;
0120 virtual void ToggleZoom(TVirtualPad *pad = nullptr) = 0;
0121 virtual void ZoomMove() = 0;
0122 virtual void Zoom() = 0;
0123 virtual void UnZoom() = 0;
0124
0125 static TView *CreateView(Int_t system=1, const Double_t *rmin = nullptr, const Double_t *rmax = nullptr);
0126
0127 ClassDefOverride(TView,3);
0128 };
0129
0130 #endif
0131