
Implements a native ROOT-GL cylinder that can be rendered at different levels of detail.
| void | TGLLogicalShape::PurgeDLRange(UInt_t base, Int_t size) const |
| enum TGLLogicalShape::ELODAxes { | kLODAxesNone | |
| kLODAxesX | ||
| kLODAxesY | ||
| kLODAxesZ | ||
| kLODAxesAll | ||
| }; |
| TGLBoundingBox | TGLLogicalShape::fBoundingBox | ! Shape's bounding box. |
| UInt_t | TGLLogicalShape::fDLBase | ! display-list id base |
| Bool_t | TGLLogicalShape::fDLCache | ! use display list caching |
| Int_t | TGLLogicalShape::fDLSize | ! display-list size for different LODs |
| UShort_t | TGLLogicalShape::fDLValid | ! display-list validity bit-field |
| TObject* | TGLLogicalShape::fExternalObj | ! Also plays the role of ID. |
| TGLPhysicalShape* | TGLLogicalShape::fFirstPhysical | ! first replica |
| Bool_t | TGLLogicalShape::fOwnExtObj | ! External object is a fake |
| UInt_t | TGLLogicalShape::fRef | ! physical instance ref counting |
| Bool_t | TGLLogicalShape::fRefStrong | ! Strong ref (delete on 0 ref); not in scene |
| TGLScene* | TGLLogicalShape::fScene | ! scene where object is stored (can be zero!) |
| static Bool_t | TGLLogicalShape::fgIgnoreSizeForCameraInterest |
| Double_t | fDz | |
| TGLVector3 | fHighPlaneNorm | |
| TGLVector3 | fLowPlaneNorm | |
| Double_t | fPhi1 | |
| Double_t | fPhi2 | |
| Double_t | fR1 | |
| Double_t | fR2 | |
| Double_t | fR3 | |
| Double_t | fR4 | |
| Bool_t | fSegMesh |

Copy out relevant parts of buffer - we create and delete mesh parts on demand in DirectDraw() and they are DL cached
Return display-list offset for given LOD. Calculation based on what is done in virtual QuantizeShapeLOD below.
Factor in scene/viewer LOD and quantize.
Cylinders support LOD (tesselation quality) adjustment along X/Y axes (round the cylinder radius), but not along length (Z)
{ return ELODAxes(kLODAxesX | kLODAxesY); }