Logo ROOT  
Reference Guide
TGLSphere Class Reference

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

Definition at line 21 of file TGLSphere.h.

Public Member Functions

 TGLSphere (const TBuffer3DSphere &buffer)
 Default ctor. More...
 
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const
 Debug tracing. More...
 
virtual UInt_t DLOffset (Short_t lod) const
 Return display-list offset for given LOD. More...
 
virtual TClassIsA () const
 
virtual Short_t QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD) const
 Factor in scene/viewer LOD and quantize. More...
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual ELODAxes SupportedLODAxes () const
 
- Public Member Functions inherited from TGLLogicalShape
 TGLLogicalShape ()
 global flag for usage of display-lists in shapes that use vertex arrays More...
 
 TGLLogicalShape (const TBuffer3D &buffer)
 Constructor from TBuffer3D. More...
 
 TGLLogicalShape (TObject *obj)
 Constructor with external object. More...
 
virtual ~TGLLogicalShape ()
 Destroy logical shape. More...
 
void AddRef (TGLPhysicalShape *phys) const
 Add reference to given physical shape. More...
 
virtual Bool_t AlwaysSecondarySelect () const
 
const TGLBoundingBoxBoundingBox () const
 
void DestroyPhysicals ()
 Destroy all physicals attached to this logical. More...
 
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const =0
 
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 UInt_t DLOffset (Short_t) const
 
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...
 
TObjectGetExternal () const
 
const TGLPhysicalShapeGetFirstPhysical () const
 
TGLSceneGetScene () const
 
TObjectID () const
 
virtual Bool_t IgnoreSizeForOfInterest () const
 Return true if size of this shape should be ignored when determining if the object should be drawn. 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...
 
virtual TClassIsA () const
 
virtual Bool_t KeepDuringSmartRefresh () 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...
 
virtual Short_t QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD) const
 Logical shapes usually support only discreet LOD values, especially in view of display-list caching. More...
 
UInt_t Ref () const
 
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 Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void StrongRef (Bool_t strong) const
 
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...
 
virtual ELODAxes SupportedLODAxes () const
 
virtual Bool_t SupportsSecondarySelect () const
 
UInt_t UnrefFirstPhysical ()
 Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else. More...
 
virtual void UpdateBoundingBox ()
 
void UpdateBoundingBoxesOfPhysicals ()
 Update bounding-boxed of all dependent physicals. More...
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TGLLogicalShape
static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Bool_t GetIgnoreSizeForCameraInterest ()
 Get state of static fgIgnoreSizeForCameraInterest flag. More...
 
static void SetEnvDefaults ()
 
static void SetIgnoreSizeForCameraInterest (Bool_t isfci)
 Set state of static fgIgnoreSizeForCameraInterest flag. More...
 

Private Attributes

Double_t fRadius
 

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
}
 
- 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
TGLBoundingBox fBoundingBox
 Also plays the role of ID. More...
 
UInt_t fDLBase
 scene where object is stored (can be zero!) More...
 
Bool_t fDLCache
 display-list validity bit-field More...
 
Int_t fDLSize
 display-list id base More...
 
UShort_t fDLValid
 display-list size for different LODs More...
 
TObjectfExternalObj
 first replica More...
 
TGLPhysicalShapefFirstPhysical
 physical instance ref counting More...
 
Bool_t fOwnExtObj
 Strong ref (delete on 0 ref); not in scene. More...
 
UInt_t fRef
 
Bool_t fRefStrong
 use display list caching More...
 
TGLScenefScene
 Shape's bounding box. More...
 
- Static Protected Attributes inherited from TGLLogicalShape
static Bool_t fgIgnoreSizeForCameraInterest = kFALSE
 
static Bool_t fgUseDLs = kTRUE
 
static Bool_t fgUseDLsForVertArrs = kTRUE
 global flag for usage of display-lists More...
 

#include <TGLSphere.h>

Inheritance diagram for TGLSphere:
[legend]

Constructor & Destructor Documentation

◆ TGLSphere()

TGLSphere::TGLSphere ( const TBuffer3DSphere buffer)

Default ctor.

Definition at line 36 of file TGLSphere.cxx.

Member Function Documentation

◆ Class()

static TClass * TGLSphere::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TGLSphere::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static Version_t TGLSphere::Class_Version ( )
inlinestatic
Returns
Version of this class

Definition at line 35 of file TGLSphere.h.

◆ DeclFileName()

static const char * TGLSphere::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 35 of file TGLSphere.h.

◆ DirectDraw()

void TGLSphere::DirectDraw ( TGLRnrCtx rnrCtx) const
virtual

Debug tracing.

Implements TGLLogicalShape.

Definition at line 92 of file TGLSphere.cxx.

◆ DLOffset()

UInt_t TGLSphere::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 56 of file TGLSphere.cxx.

◆ IsA()

virtual TClass * TGLSphere::IsA ( ) const
inlinevirtual
Returns
TClass describing current object

Reimplemented from TGLLogicalShape.

Definition at line 35 of file TGLSphere.h.

◆ QuantizeShapeLOD()

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

Factor in scene/viewer LOD and quantize.

Reimplemented from TGLLogicalShape.

Definition at line 68 of file TGLSphere.cxx.

◆ Streamer()

virtual void TGLSphere::Streamer ( TBuffer )
virtual

Reimplemented from TGLLogicalShape.

◆ StreamerNVirtual()

void TGLSphere::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 35 of file TGLSphere.h.

◆ SupportedLODAxes()

virtual ELODAxes TGLSphere::SupportedLODAxes ( ) const
inlinevirtual

Reimplemented from TGLLogicalShape.

Definition at line 31 of file TGLSphere.h.

Member Data Documentation

◆ fRadius

Double_t TGLSphere::fRadius
private

Definition at line 24 of file TGLSphere.h.

Libraries for TGLSphere:
[legend]

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