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!) |
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); }