16#include "TGLIncludes.h"
41 fVertices(buffer.fPnts, buffer.fPnts + 3 * buffer.NbPnts()),
46 fStyle = realObj->GetMarkerStyle();
47 fSize = realObj->GetMarkerSize() / 2.;
58 Info(
"TGLPolyMarker::DirectDraw",
"this %ld (class %s) LOD %d", (
Long_t)
this, IsA()->GetName(), rnrCtx.
ShapeLOD());
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);
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);
void Info(const char *location, const char *msgfmt,...)
Generic 3D primitive description class.
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
To draw a 3D polymarker in a GL window.
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
Debug tracing.
std::vector< Double_t > fVertices
TGLPolyMarker(const TBuffer3D &buffer)
TAttMarker is not TObject descendant, so I need dynamic_cast.
void DrawStars() const
Draw stars.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
GLUquadric * GetGluQuadric()
Initialize fQuadric.
static Float_t PointSize()
Get the point-size, taking the global scaling into account.
Double_t Sqrt(Double_t x)