ROOT  6.06/09
Reference Guide
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TGLCylinder Class Reference

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

Definition at line 23 of file TGLCylinder.h.

Public Member Functions

 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. More...
 
 ~TGLCylinder ()
 destructor More...
 
virtual UInt_t DLOffset (Short_t lod) const
 Return display-list offset for given LOD. More...
 
virtual ELODAxes SupportedLODAxes () const
 
virtual Short_t QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD) const
 Factor in scene/viewer LOD and quantize. More...
 
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const
 Debug tracing. More...
 
- Public Member Functions inherited from TGLLogicalShape
 TGLLogicalShape ()
 Constructor. More...
 
 TGLLogicalShape (TObject *obj)
 Constructor with external object. More...
 
 TGLLogicalShape (const TBuffer3D &buffer)
 Constructor from TBuffer3D. More...
 
virtual ~TGLLogicalShape ()
 Destroy logical shape. More...
 
UInt_t Ref () const
 
void AddRef (TGLPhysicalShape *phys) const
 Add reference to given physical shape. More...
 
void SubRef (TGLPhysicalShape *phys) const
 Remove reference to given physical shape, potentially deleting this object when hitting zero ref-count (if fRefStrong is true). More...
 
void StrongRef (Bool_t strong) const
 
void DestroyPhysicals ()
 Destroy all physicals attached to this logical. More...
 
UInt_t UnrefFirstPhysical ()
 Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else. More...
 
const TGLPhysicalShapeGetFirstPhysical () const
 
TObjectID () const
 
TObjectGetExternal () const
 
TGLSceneGetScene () const
 
const TGLBoundingBoxBoundingBox () const
 
virtual void UpdateBoundingBox ()
 
void UpdateBoundingBoxesOfPhysicals ()
 Update bounding-boxed of all dependent physicals. More...
 
Bool_t SetDLCache (Bool_t cached)
 Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw. More...
 
virtual Bool_t ShouldDLCache (const TGLRnrCtx &rnrCtx) const
 Returns kTRUE if draws should be display list cached kFALSE otherwise. More...
 
virtual void DLCacheClear ()
 Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved ids from GL context. More...
 
virtual void DLCacheDrop ()
 Drop all entries for all LODs for this drawable from the display list cache, WITHOUT returning the reserved ids to GL context. More...
 
virtual void DLCachePurge ()
 Purge all entries for all LODs for this drawable from the display list cache, returning the reserved ids to GL context. More...
 
virtual void Draw (TGLRnrCtx &rnrCtx) const
 Draw the GL drawable, using draw flags. More...
 
virtual void DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const
 Draw the logical shape in highlight mode. More...
 
virtual Bool_t IgnoreSizeForOfInterest () const
 Return true if size of this shape should be ignored when determining if the object should be drawn. More...
 
virtual Bool_t KeepDuringSmartRefresh () const
 
virtual Bool_t SupportsSecondarySelect () const
 
virtual Bool_t AlwaysSecondarySelect () const
 
virtual void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
 Virtual method called-back after a secondary selection hit is recorded (see TGLViewer::HandleButton(), Ctrl-Button1). More...
 
void InvokeContextMenu (TContextMenu &menu, UInt_t x, UInt_t y) const
 Invoke popup menu or our bound external TObject (if any), using passed 'menu' object, at location 'x' 'y'. More...
 

Private Member Functions

 ClassDef (TGLCylinder, 0)
 

Private Attributes

Double_t fR1
 
Double_t fR2
 
Double_t fR3
 
Double_t fR4
 
Double_t fDz
 
Double_t fPhi1
 
Double_t fPhi2
 
TGLVector3 fLowPlaneNorm
 
TGLVector3 fHighPlaneNorm
 
Bool_t fSegMesh
 

Additional Inherited Members

- Public Types inherited from TGLLogicalShape
enum  ELODAxes {
  kLODAxesNone = 0, kLODAxesX = 1 << 0, kLODAxesY = 1 << 1, kLODAxesZ = 1 << 2,
  kLODAxesAll = kLODAxesX | kLODAxesY | kLODAxesZ
}
 
- Static Public Member Functions inherited from TGLLogicalShape
static Bool_t GetIgnoreSizeForCameraInterest ()
 Get state of static fgIgnoreSizeForCameraInterest flag. More...
 
static void SetIgnoreSizeForCameraInterest (Bool_t isfci)
 Set state of static fgIgnoreSizeForCameraInterest flag. More...
 
- Protected Member Functions inherited from TGLLogicalShape
void PurgeDLRange (UInt_t base, Int_t size) const
 External object is a fake. More...
 
- Protected Attributes inherited from TGLLogicalShape
UInt_t fRef
 
TGLPhysicalShapefFirstPhysical
 physical instance ref counting More...
 
TObjectfExternalObj
 first replica More...
 
TGLBoundingBox fBoundingBox
 Also plays the role of ID. More...
 
TGLScenefScene
 Shape's bounding box. More...
 
UInt_t fDLBase
 scene where object is stored (can be zero!) More...
 
Int_t fDLSize
 display-list id base More...
 
UShort_t fDLValid
 display-list size for different LODs More...
 
Bool_t fDLCache
 display-list validity bit-field More...
 
Bool_t fRefStrong
 use display list caching More...
 
Bool_t fOwnExtObj
 Strong ref (delete on 0 ref); not in scene. More...
 
- Static Protected Attributes inherited from TGLLogicalShape
static Bool_t fgIgnoreSizeForCameraInterest = kFALSE
 

#include <TGLCylinder.h>

+ Inheritance diagram for TGLCylinder:
+ Collaboration diagram for TGLCylinder:

Constructor & Destructor Documentation

TGLCylinder::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.

Definition at line 521 of file TGLCylinder.cxx.

TGLCylinder::~TGLCylinder ( )

destructor

Definition at line 583 of file TGLCylinder.cxx.

Member Function Documentation

TGLCylinder::ClassDef ( TGLCylinder  ,
 
)
private
void TGLCylinder::DirectDraw ( TGLRnrCtx rnrCtx) const
virtual

Debug tracing.

Implements TGLLogicalShape.

Definition at line 627 of file TGLCylinder.cxx.

UInt_t TGLCylinder::DLOffset ( Short_t  lod) const
virtual

Return display-list offset for given LOD.

Calculation based on what is done in virtual QuantizeShapeLOD below.

Reimplemented from TGLLogicalShape.

Definition at line 591 of file TGLCylinder.cxx.

Short_t TGLCylinder::QuantizeShapeLOD ( Short_t  shapeLOD,
Short_t  combiLOD 
) const
virtual

Factor in scene/viewer LOD and quantize.

Reimplemented from TGLLogicalShape.

Definition at line 603 of file TGLCylinder.cxx.

virtual ELODAxes TGLCylinder::SupportedLODAxes ( ) const
inlinevirtual

Reimplemented from TGLLogicalShape.

Definition at line 41 of file TGLCylinder.h.

Member Data Documentation

Double_t TGLCylinder::fDz
private

Definition at line 27 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

TGLVector3 TGLCylinder::fHighPlaneNorm
private

Definition at line 30 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

TGLVector3 TGLCylinder::fLowPlaneNorm
private

Definition at line 30 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Double_t TGLCylinder::fPhi1
private

Definition at line 28 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Double_t TGLCylinder::fPhi2
private

Definition at line 28 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Double_t TGLCylinder::fR1
private

Definition at line 26 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Double_t TGLCylinder::fR2
private

Definition at line 26 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Double_t TGLCylinder::fR3
private

Definition at line 26 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Double_t TGLCylinder::fR4
private

Definition at line 26 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().

Bool_t TGLCylinder::fSegMesh
private

Definition at line 31 of file TGLCylinder.h.

Referenced by DirectDraw(), and TGLCylinder().


The documentation for this class was generated from the following files: