41 fVertices(buffer.fPnts, buffer.fPnts + 3 * buffer.NbPnts()),
45 if (
TAttMarker *realObj = dynamic_cast<TAttMarker *>(buffer.
fID)) {
46 fStyle = realObj->GetMarkerStyle();
47 fSize = realObj->GetMarkerSize() / 2.;
66 Int_t stacks = 6, slices = 6;
72 stacks = 2, slices = 4;
74 case 4:
case 8:
case 20:
case 24:
75 for (
UInt_t i = 0; i < size; i += 3) {
77 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
86 for (
UInt_t i = 0; i < size; i += 3) {
88 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
94 for (
UInt_t i = 0; i < size; i += 3) {
96 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
97 glRotated(180, 1., 0., 0.);
102 case 3:
case 2:
case 5:
111 case 1:
case 9:
case 10:
case 11:
default:
114 for (
UInt_t i = 0; i < size; i += 3)
115 glVertex3dv(vertices + i);
127 glDisable(GL_LIGHTING);
136 glVertex3d(x - fSize, y, z);
137 glVertex3d(x + fSize, y, z);
138 glVertex3d(x, y, z - fSize);
139 glVertex3d(x, y, z + fSize);
140 glVertex3d(x, y - fSize, z);
141 glVertex3d(x, y + fSize, z);
144 glVertex3d(x - diag, y - diag, z - diag);
145 glVertex3d(x + diag, y + diag, z + diag);
146 glVertex3d(x - diag, y - diag, z + diag);
147 glVertex3d(x + diag, y + diag, z - diag);
148 glVertex3d(x - diag, y + diag, z - diag);
149 glVertex3d(x + diag, y - diag, z + diag);
150 glVertex3d(x - diag, y + diag, z + diag);
151 glVertex3d(x + diag, y - diag, z - diag);
155 glEnable(GL_LIGHTING);
std::vector< Double_t > fVertices
std::string GetName(const std::string &scope_name)
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
GLUquadric * GetGluQuadric()
Initialize fQuadric.
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
Debug tracing.
void Info(const char *location, const char *msgfmt,...)
To draw a 3D polymarker in a GL window.
Generic 3D primitive description class.
static Float_t PointSize()
Get the point-size, taking the global scaling into account.
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
you should not use this method at all Int_t Int_t z
Double_t Sqrt(Double_t x)
TGLPolyMarker(const TBuffer3D &buffer)
TAttMarker is not TObject descendant, so I need dynamic_cast.
void DrawStars() const
Draw stars.