Logo ROOT   6.18/05
Reference Guide
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
TEveQuadSetGL Class Reference

GL-renderer for TEveQuadSet class.

Definition at line 18 of file TEveQuadSetGL.h.

Public Member Functions

 TEveQuadSetGL ()
 Constructor. More...
 
virtual ~TEveQuadSetGL ()
 
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const
 Draw quad-set with GL. 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 SetModel (TObject *obj, const Option_t *opt=0)
 Set model object. More...
 
- Public Member Functions inherited from TEveDigitSetGL
 TEveDigitSetGL ()
 Constructor. More...
 
virtual ~TEveDigitSetGL ()
 
virtual Bool_t AlwaysSecondarySelect () const
 
virtual void DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const
 Draw the quad-set in highlight mode. More...
 
virtual void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
 Processes secondary selection from TGLViewer. More...
 
virtual void SetBBox ()
 Set bounding box. More...
 
virtual Bool_t SupportsSecondarySelect () const
 
- Public Member Functions inherited from TGLObject
 TGLObject ()
 
virtual ~TGLObject ()
 
virtual Bool_t KeepDuringSmartRefresh () const
 
virtual void SetBBox ()=0
 
virtual Bool_t SetModel (TObject *obj, const Option_t *opt=0)=0
 
virtual Bool_t ShouldDLCache (const TGLRnrCtx &rnrCtx) const
 Decide if display-list should be used for this pass rendering, as determined by rnrCtx. More...
 
virtual void UpdateBoundingBox ()
 Update bounding box from external source. More...
 
- 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 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...
 
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...
 

Protected Member Functions

void RenderHexagons (TGLRnrCtx &rnrCtx) const
 GL rendering for hexagons. More...
 
void RenderLines (TGLRnrCtx &rnrCtx) const
 GL rendering for line-types. More...
 
void RenderQuads (TGLRnrCtx &rnrCtx) const
 GL rendering for free-quads and rectangles. More...
 
- Protected Member Functions inherited from TEveDigitSetGL
void DrawFrameIfNeeded (TGLRnrCtx &rnrCtx) const
 Make a decision if the frame should be drawn. More...
 
Bool_t SetupColor (const TEveDigitSet::DigitBase_t &q) const
 Set color for rendering of the specified digit. More...
 
- Protected Member Functions inherited from TGLObject
template<class TT >
TT * DynCast (TObject *obj)
 
void SetAxisAlignedBBox (const Float_t *p)
 Set axis-aligned bounding-box. More...
 
void SetAxisAlignedBBox (Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
 Set axis-aligned bounding-box. More...
 
Bool_t SetModelCheckClass (TObject *obj, TClass *cls)
 Checks if obj is of proper class and sets the model. More...
 
template<class TT >
TT * SetModelDynCast (TObject *obj)
 
- Protected Member Functions inherited from TGLLogicalShape
void PurgeDLRange (UInt_t base, Int_t size) const
 External object is a fake. More...
 

Protected Attributes

TEveQuadSetfM
 
- Protected Attributes inherited from TEveDigitSetGL
const std::set< Int_t > * fHighlightSet
 
- Protected Attributes inherited from TGLObject
Bool_t fMultiColor
 
- 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...
 

Private Member Functions

 TEveQuadSetGL (const TEveQuadSetGL &)
 
TEveQuadSetGLoperator= (const TEveQuadSetGL &)
 

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 TGLObject
static TClassGetGLRenderer (TClass *isa)
 Return direct-rendering GL class for class isa. More...
 
- Static Public Member Functions inherited from TGLLogicalShape
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...
 
- 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 <TEveQuadSetGL.h>

Inheritance diagram for TEveQuadSetGL:
[legend]

Constructor & Destructor Documentation

◆ TEveQuadSetGL() [1/2]

TEveQuadSetGL::TEveQuadSetGL ( const TEveQuadSetGL )
private

◆ TEveQuadSetGL() [2/2]

TEveQuadSetGL::TEveQuadSetGL ( )

Constructor.

Definition at line 29 of file TEveQuadSetGL.cxx.

◆ ~TEveQuadSetGL()

virtual TEveQuadSetGL::~TEveQuadSetGL ( )
inlinevirtual

Definition at line 32 of file TEveQuadSetGL.h.

Member Function Documentation

◆ DirectDraw()

void TEveQuadSetGL::DirectDraw ( TGLRnrCtx rnrCtx) const
virtual

Draw quad-set with GL.

Implements TGLLogicalShape.

Definition at line 58 of file TEveQuadSetGL.cxx.

◆ IgnoreSizeForOfInterest()

virtual Bool_t TEveQuadSetGL::IgnoreSizeForOfInterest ( ) const
inlinevirtual

Return true if size of this shape should be ignored when determining if the object should be drawn.

In this base-class we simply return state of static flag fgIgnoreSizeForCameraInterest.

Several sub-classes override this virtual function.

Reimplemented from TGLLogicalShape.

Definition at line 37 of file TEveQuadSetGL.h.

◆ operator=()

TEveQuadSetGL & TEveQuadSetGL::operator= ( const TEveQuadSetGL )
private

◆ RenderHexagons()

void TEveQuadSetGL::RenderHexagons ( TGLRnrCtx rnrCtx) const
protected

GL rendering for hexagons.

Definition at line 439 of file TEveQuadSetGL.cxx.

◆ RenderLines()

void TEveQuadSetGL::RenderLines ( TGLRnrCtx rnrCtx) const
protected

GL rendering for line-types.

Definition at line 379 of file TEveQuadSetGL.cxx.

◆ RenderQuads()

void TEveQuadSetGL::RenderQuads ( TGLRnrCtx rnrCtx) const
protected

GL rendering for free-quads and rectangles.

Definition at line 101 of file TEveQuadSetGL.cxx.

◆ SetModel()

Bool_t TEveQuadSetGL::SetModel ( TObject obj,
const Option_t opt = 0 
)
virtual

Set model object.

Implements TGLObject.

Definition at line 38 of file TEveQuadSetGL.cxx.

Member Data Documentation

◆ fM

TEveQuadSet* TEveQuadSetGL::fM
protected

Definition at line 24 of file TEveQuadSetGL.h.

Libraries for TEveQuadSetGL:
[legend]

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