12 #ifndef ROOT7_REveLine
13 #define ROOT7_REveLine
21 namespace Experimental {
28 class REveLine :
public REvePointSet,
32 REveLine &operator=(
const REveLine &);
39 static Bool_t fgDefaultSmooth;
42 REveLine(
const std::string &name =
"",
const std::string &title =
"", Int_t n_points = 0);
43 REveLine(
const REveLine &l);
44 virtual ~REveLine() {}
46 void SetMarkerColor(Color_t col)
override;
48 void SetLineColor(Color_t col)
override { SetMainColor(col); }
49 void SetLineStyle(Style_t lstyle)
override;
50 void SetLineWidth(Width_t lwidth)
override;
52 Bool_t GetRnrLine()
const {
return fRnrLine; }
53 Bool_t GetRnrPoints()
const {
return fRnrPoints; }
54 Bool_t GetSmooth()
const {
return fSmooth; }
55 void SetRnrLine(Bool_t r);
56 void SetRnrPoints(Bool_t r);
57 void SetSmooth(Bool_t r);
59 void ReduceSegmentLengths(Float_t max);
60 Float_t CalculateLineLength()
const;
62 REveVector GetLineStart()
const;
63 REveVector GetLineEnd()
const;
65 void CopyVizParams(
const REveElement *el)
override;
66 void WriteVizParams(std::ostream &out,
const TString &var)
override;
68 TClass *ProjectedClass(
const REveProjection *p)
const override;
70 Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset)
override;
71 void BuildRenderData()
override;
73 static Bool_t GetDefaultSmooth();
74 static void SetDefaultSmooth(Bool_t r);
81 class REveLineProjected :
public REveLine,
public REveProjected {
83 REveLineProjected(
const REveLineProjected &);
84 REveLineProjected &operator=(
const REveLineProjected &);
87 void SetDepthLocal(Float_t d)
override;
91 virtual ~REveLineProjected() {}
93 void SetProjection(REveProjectionManager *mng, REveProjectable *model)
override;
94 void UpdateProjection()
override;
95 REveElement *GetProjectedAsElement()
override {
return this; }