36 TGLSphere::TGLSphere(
const TBuffer3DSphere &buffer) :
37 TGLLogicalShape(buffer)
41 fRadius = buffer.fRadiusOuter;
56 UInt_t TGLSphere::DLOffset(Short_t lod)
const
59 if (lod >= 100) off = 0;
60 else if (lod < 10) off = lod / 2;
61 else off = lod / 10 + 4;
68 Short_t TGLSphere::QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD)
const
70 Int_t lod = ((Int_t)shapeLOD * (Int_t)combiLOD) / 100;
78 Double_t quant = 0.1 * ((
static_cast<Double_t
>(lod)) + 0.5);
79 lod = 10 *
static_cast<Int_t
>(quant);
83 Double_t quant = 0.5 * ((
static_cast<Double_t
>(lod)) + 0.5);
84 lod = 2 *
static_cast<Int_t
>(quant);
86 return static_cast<Short_t
>(lod);
92 void TGLSphere::DirectDraw(TGLRnrCtx & rnrCtx)
const
95 Info(
"TGLSphere::DirectDraw",
"this %ld (class %s) LOD %d", (Long_t)
this, IsA()->GetName(), rnrCtx.ShapeLOD());
99 UInt_t divisions = rnrCtx.ShapeLOD();
103 gluSphere(rnrCtx.GetGluQuadric(), fRadius, divisions, divisions);