ROOT logo
ROOT » GRAF3D » GL » TGLCylinder

class TGLCylinder: public TGLLogicalShape


 Implements a native ROOT-GL cylinder that can be rendered at
 different levels of detail.

Function Members (Methods)

public:
TGLCylinder(const TBuffer3DTube& buffer)
virtual~TGLCylinder()
voidTGLLogicalShape::AddRef(TGLPhysicalShape* phys) const
virtual Bool_tTGLLogicalShape::AlwaysSecondarySelect() const
const TGLBoundingBox&TGLLogicalShape::BoundingBox() const
static TClass*Class()
voidTGLLogicalShape::DestroyPhysicals()
virtual voidDirectDraw(TGLRnrCtx& rnrCtx) const
virtual voidTGLLogicalShape::DLCacheClear()
virtual voidTGLLogicalShape::DLCacheDrop()
virtual voidTGLLogicalShape::DLCachePurge()
virtual UInt_tDLOffset(Short_t lod) const
virtual voidTGLLogicalShape::Draw(TGLRnrCtx& rnrCtx) const
virtual voidTGLLogicalShape::DrawHighlight(TGLRnrCtx& rnrCtx, const TGLPhysicalShape* pshp) const
TObject*TGLLogicalShape::GetExternal() const
const TGLPhysicalShape*TGLLogicalShape::GetFirstPhysical() const
TGLScene*TGLLogicalShape::GetScene() const
TObject*TGLLogicalShape::ID() const
virtual Bool_tTGLLogicalShape::IgnoreSizeForOfInterest() const
voidTGLLogicalShape::InvokeContextMenu(TContextMenu& menu, UInt_t x, UInt_t y) const
virtual TClass*IsA() const
virtual Bool_tTGLLogicalShape::KeepDuringSmartRefresh() const
virtual voidTGLLogicalShape::ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec)
virtual Short_tQuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const
UInt_tTGLLogicalShape::Ref() const
Bool_tTGLLogicalShape::SetDLCache(Bool_t cached)
virtual Bool_tTGLLogicalShape::ShouldDLCache(const TGLRnrCtx& rnrCtx) const
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidTGLLogicalShape::StrongRef(Bool_t strong) const
voidTGLLogicalShape::SubRef(TGLPhysicalShape* phys) const
virtual TGLLogicalShape::ELODAxesSupportedLODAxes() const
virtual Bool_tTGLLogicalShape::SupportsSecondarySelect() const
UInt_tTGLLogicalShape::UnrefFirstPhysical()
virtual voidTGLLogicalShape::UpdateBoundingBox()
voidTGLLogicalShape::UpdateBoundingBoxesOfPhysicals()
protected:
voidTGLLogicalShape::PurgeDLRange(UInt_t base, Int_t size) const

Data Members

public:
enum TGLLogicalShape::ELODAxes { kLODAxesNone
kLODAxesX
kLODAxesY
kLODAxesZ
kLODAxesAll
};
protected:
TGLBoundingBoxTGLLogicalShape::fBoundingBox! Shape's bounding box.
UInt_tTGLLogicalShape::fDLBase! display-list id base
Bool_tTGLLogicalShape::fDLCache! use display list caching
Int_tTGLLogicalShape::fDLSize! display-list size for different LODs
UShort_tTGLLogicalShape::fDLValid! display-list validity bit-field
TObject*TGLLogicalShape::fExternalObj! Also plays the role of ID.
TGLPhysicalShape*TGLLogicalShape::fFirstPhysical! first replica
Bool_tTGLLogicalShape::fOwnExtObj! External object is a fake
UInt_tTGLLogicalShape::fRef! physical instance ref counting
Bool_tTGLLogicalShape::fRefStrong! Strong ref (delete on 0 ref); not in scene
TGLScene*TGLLogicalShape::fScene! scene where object is stored (can be zero!)
private:
Double_tfDz
TGLVector3fHighPlaneNorm
TGLVector3fLowPlaneNorm
Double_tfPhi1
Double_tfPhi2
Double_tfR1
Double_tfR2
Double_tfR3
Double_tfR4
Bool_tfSegMesh

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLCylinder(const TBuffer3DTube& buffer)
 Copy out relevant parts of buffer - we create and delete mesh
 parts on demand in DirectDraw() and they are DL cached
~TGLCylinder()
destructor
UInt_t DLOffset(Short_t lod) const
 Return display-list offset for given LOD.
 Calculation based on what is done in virtual QuantizeShapeLOD below.
Short_t QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const
 Factor in scene/viewer LOD and quantize.
void DirectDraw(TGLRnrCtx& rnrCtx) const
 Debug tracing
ELODAxes SupportedLODAxes() const
 Cylinders support LOD (tesselation quality) adjustment along
 X/Y axes (round the cylinder radius), but not along length (Z)
{ return ELODAxes(kLODAxesX | kLODAxesY); }