#ifndef ROOT_TPolyLine3D
#define ROOT_TPolyLine3D
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TList
#include "TList.h"
#endif
#ifndef ROOT_TTString
#include "TString.h"
#endif
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
#ifndef ROOT_TAtt3D
#include "TAtt3D.h"
#endif
class TPolyLine3D : public TObject, public TAttLine, public TAtt3D
{
protected:
Int_t fN;
Float_t *fP;
TString fOption;
Int_t fLastPoint;
public:
TPolyLine3D();
TPolyLine3D(Int_t n, Option_t *option="");
TPolyLine3D(Int_t n, Float_t *p, Option_t *option="");
TPolyLine3D(Int_t n, Double_t *p, Option_t *option="");
TPolyLine3D(Int_t n, Float_t *x, Float_t *y, Float_t *z, Option_t *option="");
TPolyLine3D(Int_t n, Double_t *x, Double_t *y, Double_t *z, Option_t *option="");
TPolyLine3D(const TPolyLine3D &polylin);
TPolyLine3D& operator=(const TPolyLine3D &polylin);
virtual ~TPolyLine3D();
virtual void Copy(TObject &polyline) const;
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void Draw(Option_t *option="");
virtual void DrawPolyLine(Int_t n, Float_t *p, Option_t *option="");
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
Int_t GetLastPoint() const {return fLastPoint;}
Int_t GetN() const {return fN;}
Float_t *GetP() const {return fP;}
Option_t *GetOption() const {return fOption.Data();}
virtual void ls(Option_t *option="") const;
virtual Int_t Merge(TCollection *list);
virtual void Paint(Option_t *option="");
virtual void Print(Option_t *option="") const;
virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
virtual Int_t SetNextPoint(Double_t x, Double_t y, Double_t z);
virtual void SetOption(Option_t *option="") {fOption = option;}
virtual void SetPoint(Int_t point, Double_t x, Double_t y, Double_t z);
virtual void SetPolyLine(Int_t n, Option_t *option="");
virtual void SetPolyLine(Int_t n, Float_t *p, Option_t *option="");
virtual void SetPolyLine(Int_t n, Double_t *p, Option_t *option="");
virtual Int_t Size() const { return fLastPoint+1;}
static void DrawOutlineCube(TList *outline, Double_t *rmin, Double_t *rmax);
ClassDef(TPolyLine3D,1)
};
#endif