12 #ifndef ROOT_TEveStraightLineSet
13 #define ROOT_TEveStraightLineSet
32 class TEveStraightLineSet :
public TEveElement,
33 public TEveProjectable,
42 TEveStraightLineSet(
const TEveStraightLineSet&);
43 TEveStraightLineSet& operator=(
const TEveStraightLineSet&);
53 Line_t(Float_t x1, Float_t y1, Float_t z1,
54 Float_t x2, Float_t y2, Float_t z2) : fId(-1), fRef()
56 fV1[0] = x1, fV1[1] = y1, fV1[2] = z1;
57 fV2[0] = x2, fV2[1] = y2, fV2[2] = z2;
67 Marker_t(Float_t x, Float_t y, Float_t z, Int_t line_id) : fLineId(line_id), fRef()
69 fV[0] = x, fV[1] = y, fV[2] = z;
74 TEveChunkManager fLinePlex;
75 TEveChunkManager fMarkerPlex;
78 Bool_t fOwnMarkersIds;
88 TEveStraightLineSet(
const char* n=
"StraightLineSet",
const char* t=
"");
89 virtual ~TEveStraightLineSet() {}
91 virtual void SetLineColor(Color_t col) { SetMainColor(col); }
93 Line_t* AddLine(Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Float_t z2);
94 Line_t* AddLine(
const TEveVector& p1,
const TEveVector& p2);
95 Marker_t* AddMarker(Float_t x, Float_t y, Float_t z, Int_t line_id=-1);
96 Marker_t* AddMarker(
const TEveVector& p, Int_t line_id=-1);
97 Marker_t* AddMarker(Int_t line_id, Float_t pos);
99 void SetLine(
int idx, Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Float_t z2);
100 void SetLine(
int idx,
const TEveVector& p1,
const TEveVector& p2);
102 TEveChunkManager& GetLinePlex() {
return fLinePlex; }
103 TEveChunkManager& GetMarkerPlex() {
return fMarkerPlex; }
105 virtual Bool_t GetRnrMarkers() {
return fRnrMarkers; }
106 virtual Bool_t GetRnrLines() {
return fRnrLines; }
107 virtual Bool_t GetDepthTest() {
return fDepthTest; }
109 virtual void SetRnrMarkers(Bool_t x) { fRnrMarkers = x; }
110 virtual void SetRnrLines(Bool_t x) { fRnrLines = x; }
111 virtual void SetDepthTest(Bool_t x) { fDepthTest = x; }
113 virtual void CopyVizParams(
const TEveElement* el);
114 virtual void WriteVizParams(std::ostream& out,
const TString& var);
116 virtual TClass* ProjectedClass(
const TEveProjection* p)
const;
118 virtual void ComputeBBox();
119 virtual void Paint(Option_t* option=
"");
121 ClassDef(TEveStraightLineSet, 0);
127 class TEveStraightLineSetProjected :
public TEveStraightLineSet,
131 TEveStraightLineSetProjected(
const TEveStraightLineSetProjected&);
132 TEveStraightLineSetProjected& operator=(
const TEveStraightLineSetProjected&);
135 virtual void SetDepthLocal(Float_t d);
138 TEveStraightLineSetProjected();
139 virtual ~TEveStraightLineSetProjected() {}
141 virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
142 virtual void UpdateProjection();
143 virtual TEveElement* GetProjectedAsElement() {
return this; }
145 ClassDef(TEveStraightLineSetProjected, 0);