Warning, file /include/root/TPolyLine3D.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 #ifndef ROOT_TPolyLine3D
0013 #define ROOT_TPolyLine3D
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "TObject.h"
0025 #include "TString.h"
0026 #include "TAttLine.h"
0027 #include "TAtt3D.h"
0028
0029 class TList;
0030
0031
0032 class TPolyLine3D : public TObject, public TAttLine, public TAtt3D
0033 {
0034 protected:
0035 Int_t fN{0};
0036 Float_t *fP{nullptr};
0037 TString fOption;
0038 Int_t fLastPoint{-1};
0039
0040 public:
0041 TPolyLine3D();
0042 TPolyLine3D(Int_t n, Option_t *option="");
0043 TPolyLine3D(Int_t n, Float_t const* p, Option_t *option="");
0044 TPolyLine3D(Int_t n, Double_t const* p, Option_t *option="");
0045 TPolyLine3D(Int_t n, Float_t const* x, Float_t const* y, Float_t const* z, Option_t *option="");
0046 TPolyLine3D(Int_t n, Double_t const* x, Double_t const* y, Double_t const* z, Option_t *option="");
0047 TPolyLine3D(const TPolyLine3D &polylin);
0048 TPolyLine3D& operator=(const TPolyLine3D &polylin);
0049 ~TPolyLine3D() override;
0050
0051 void Copy(TObject &polyline) const override;
0052 Int_t DistancetoPrimitive(Int_t px, Int_t py) override;
0053 void Draw(Option_t *option="") override;
0054 virtual void DrawPolyLine(Int_t n, Float_t *p, Option_t *option="");
0055 void ExecuteEvent(Int_t event, Int_t px, Int_t py) override;
0056 Int_t GetLastPoint() const {return fLastPoint;}
0057 Int_t GetN() const {return fN;}
0058 Float_t *GetP() const {return fP;}
0059 Option_t *GetOption() const override { return fOption.Data(); }
0060 void ls(Option_t *option="") const override;
0061 virtual Int_t Merge(TCollection *list);
0062 void Paint(Option_t *option="") override;
0063 void Print(Option_t *option="") const override;
0064 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
0065 virtual Int_t SetNextPoint(Double_t x, Double_t y, Double_t z);
0066 virtual void SetOption(Option_t *option="") {fOption = option;}
0067 virtual void SetPoint(Int_t point, Double_t x, Double_t y, Double_t z);
0068 virtual void SetPolyLine(Int_t n, Option_t *option="");
0069 virtual void SetPolyLine(Int_t n, Float_t *p, Option_t *option="");
0070 virtual void SetPolyLine(Int_t n, Double_t *p, Option_t *option="");
0071 virtual Int_t Size() const { return fLastPoint+1;}
0072
0073 static void DrawOutlineCube(TList *outline, Double_t *rmin, Double_t *rmax);
0074
0075 ClassDefOverride(TPolyLine3D,1)
0076 };
0077
0078 #endif