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 %zd (class %s) LOD %d", (
size_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:
77 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
88 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
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:
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);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
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 TClass * IsA() const
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)
Returns the square root of x.