CMS 3D CMS Logo

FWEveDigitSetScalableMarker.cc
Go to the documentation of this file.
1 #include "TGLIncludes.h"
3 
4 void
6 {
7  glPushAttrib(GL_ENABLE_BIT | GL_POLYGON_BIT | GL_POINT_BIT);
8  glEnable(GL_POINT_SMOOTH);
9  glDisable(GL_LIGHTING);
10 
11  TEveChunkManager::iterator qi(fM->GetPlex());
12  if (rnrCtx.Highlight() && fHighlightSet)
13  qi.fSelection = fHighlightSet;
14 
15  if (rnrCtx.SecSelection()) glPushName(0);
16 
17  glPointSize(((FWEveDigitSetScalableMarker*)fM)->GetMarkerSize());
18  while (qi.next()) {
19  TEveQuadSet::QFreeQuad_t* q = (TEveQuadSet::QFreeQuad_t*) qi();
20  if (q->fValue < 0)
21  continue;
22  TGLUtil::ColorAlpha(Color_t(q->fValue));
23  if (rnrCtx.SecSelection()) glLoadName(qi.index());
24  float* p = &q->fVertices[0];
25  glBegin(GL_LINES);
26  float c[3] = {0.5f*(p[0]+p[6]), 0.5f*(p[1]+p[7]), 0.5f*(p[2]+p[8])};
27 
28  float d = p[6] - p[0];
29  glVertex3f( c[0] -d, c[1], c[2]); glVertex3f(c[0] + d, c[1], c[2]);
30  glVertex3f( c[0] , c[1] -d, c[2]); glVertex3f(c[0] , c[1] +d, c[2]);
31  glVertex3f( c[0] , c[1], c[2]-d); glVertex3f(c[0] , c[1], c[2] +d);
32 
33  glEnd();
34 
35  glBegin(GL_POINTS);
36  glVertex3fv(&c[0]);
37  glEnd();
38 
39  }
40 
41  glPopAttrib();
42 }
void DirectDraw(TGLRnrCtx &rnrCtx) const override
double f[11][100]