40 fM = SetModelDynCast<TEveStraightLineSet>(obj);
86 glPushAttrib(GL_VIEWPORT_BIT);
91 if (
mL.GetRnrLines() &&
mL.GetLinePlex().Size() > 0)
93 glPushAttrib(GL_LINE_BIT | GL_ENABLE_BIT);
94 glDisable(GL_LIGHTING);
96 if (
mL.GetLineStyle() > 1) {
99 switch (
mL.GetLineStyle()) {
100 case 2: pat = 0x3333;
break;
101 case 3: pat = 0x5555;
break;
102 case 4: pat = 0xf040;
break;
103 case 5: pat = 0xf4f4;
break;
104 case 6: pat = 0xf111;
break;
105 case 7: pat = 0xf0f0;
break;
106 case 8: pat = 0xff11;
break;
107 case 9: pat = 0x3fff;
break;
108 case 10: pat = 0x08ff;
break;
110 glLineStipple(1, pat);
111 glEnable(GL_LINE_STIPPLE);
131 glVertex3f(
l.fV1[0],
l.fV1[1],
l.fV1[2]);
132 glVertex3f(
l.fV2[0],
l.fV2[1],
l.fV2[2]);
146 glVertex3f(
l.fV1[0],
l.fV1[1],
l.fV1[2]);
147 glVertex3f(
l.fV2[0],
l.fV2[1],
l.fV2[2]);
160 if (
mL.GetRnrMarkers() &&
mL.GetMarkerPlex().Size() > 0)
175 pnts,
mL.GetMarkerPlex().Size(),
193 if (rec.
GetN() != 3)
return;
196 printf(
"selected line %d\n", rec.
GetItem(2));
201 printf(
"Selected point %d on line %d\n", rec.
GetItem(2),
m.fLineId);
Char_t * Atom(Int_t idx) const
GL-renderer for TEveStraightLineSet class.
virtual void ProcessSelection(TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
Process results of the secondary selection.
virtual Bool_t ShouldDLCache(const TGLRnrCtx &rnrCtx) const
Override from TGLObject.
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw function for TEveStraightLineSetGL. Skips line-pass of outline mode.
virtual void SetBBox()
Setup bounding box information.
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
Render the line-set with GL.
TEveStraightLineSetGL()
Constructor.
virtual Bool_t SetModel(TObject *obj, const Option_t *opt=0)
Set model object.
Set of straight lines with optional markers along the lines.
TEveChunkManager & GetMarkerPlex()
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw the GL drawable, using draw flags.
TObject * fExternalObj
first replica
Base-class for direct OpenGL renderers.
virtual Bool_t ShouldDLCache(const TGLRnrCtx &rnrCtx) const
Decide if display-list should be used for this pass rendering, as determined by rnrCtx.
void SetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
Set axis-aligned bounding-box.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Int_t GetPickRadius()
Return pick radius. If selection is not active it returns 0.
Bool_t SecSelection() const
Bool_t IsDrawPassOutlineLine() const
UInt_t GetItem(Int_t i) const
Standard selection record including information about containing scene and details ob out selected ob...
static void BeginExtendPickRegion(Float_t scale)
static void EndExtendPickRegion()
static Float_t LineWidth()
Get the line-width, taking the global scaling into account.
static void RenderPolyMarkers(const TAttMarker &marker, Char_t transp, Float_t *p, Int_t n, Int_t pick_radius=0, Bool_t selection=kFALSE, Bool_t sec_selection=kFALSE)
Render polymarkers at points specified by p-array.
Mother of all ROOT objects.
static constexpr double mL
Bool_t next()
Go to next atom.