16#include "TGLIncludes.h"
40 fVertices(buffer.fPnts, buffer.fPnts + 3 * buffer.NbPnts()),
45 fStyle = realObj->GetMarkerStyle();
46 fSize = realObj->GetMarkerSize() / 2.;
57 Info(
"TGLPolyMarker::DirectDraw",
"this %zd (class %s) LOD %d", (
size_t)
this,
IsA()->GetName(), rnrCtx.
ShapeLOD());
65 Int_t stacks = 6, slices = 6;
71 stacks = 2, slices = 4;
73 case 4:
case 8:
case 20:
case 24:
76 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
87 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
95 glTranslated(vertices[i], vertices[i + 1], vertices[i + 2]);
96 glRotated(180, 1., 0., 0.);
101 case 3:
case 2:
case 5:
110 case 1:
case 9:
case 10:
case 11:
default:
114 glVertex3dv(vertices + i);
126 glDisable(GL_LIGHTING);
143 glVertex3d(
x - diag,
y - diag, z - diag);
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);
154 glEnable(GL_LIGHTING);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
double Double_t
Double 8 bytes.
float Float_t
Float 4 bytes (float).
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
Generic 3D primitive description class.
TGLLogicalShape(const TGLLogicalShape &)=delete
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Debug tracing.
std::vector< Double_t > fVertices
TClass * IsA() const override
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.