Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TEveBoxSetGL Class Reference

A GL rendering class for TEveBoxSet.

Definition at line 18 of file TEveBoxSetGL.h.

Public Member Functions

 TEveBoxSetGL ()
 Default constructor.
 
 ~TEveBoxSetGL () override
 Destructor.
 
void DirectDraw (TGLRnrCtx &rnrCtx) const override
 Actual rendering code.
 
void DLCacheDrop () override
 Called when display lists have been destroyed externally and the internal display-list data needs to be cleare.
 
void DLCachePurge () override
 Called when display-lists need to be returned to the system.
 
TClassIsA () const override
 
virtual void Render (TGLRnrCtx &rnrCtx)
 Interface for direct rendering from classes that include TEveBoxSet as a member.
 
Bool_t SetModel (TObject *obj, const Option_t *opt=nullptr) override
 Set model object.
 
Bool_t ShouldDLCache (const TGLRnrCtx &rnrCtx) const override
 Determines if display-list will be used for rendering.
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TEveDigitSetGL
 TEveDigitSetGL ()
 Constructor.
 
 ~TEveDigitSetGL () override
 
Bool_t AlwaysSecondarySelect () const override
 
void DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const override
 Draw the quad-set in highlight mode.
 
TClassIsA () const override
 
void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) override
 Processes secondary selection from TGLViewer.
 
void SetBBox () override
 Set bounding box.
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Bool_t SupportsSecondarySelect () const override
 
- Public Member Functions inherited from TGLObject
 TGLObject ()
 
 ~TGLObject () override
 
TClassIsA () const override
 
Bool_t KeepDuringSmartRefresh () const override
 
Bool_t ShouldDLCache (const TGLRnrCtx &rnrCtx) const override
 Decide if display-list should be used for this pass rendering, as determined by rnrCtx.
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void UpdateBoundingBox () override
 Update bounding box from external source.
 
- Public Member Functions inherited from TGLLogicalShape
 TGLLogicalShape ()
 global flag for usage of display-lists in shapes that use vertex arrays
 
 TGLLogicalShape (const TBuffer3D &buffer)
 Constructor from TBuffer3D.
 
 TGLLogicalShape (TObject *obj)
 Constructor with external object.
 
virtual ~TGLLogicalShape ()
 Destroy logical shape.
 
void AddRef (TGLPhysicalShape *phys) const
 Add reference to given physical shape.
 
const TGLBoundingBoxBoundingBox () const
 
void DestroyPhysicals ()
 Destroy all physicals attached to this logical.
 
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.
 
virtual UInt_t DLOffset (Short_t) const
 
virtual void Draw (TGLRnrCtx &rnrCtx) const
 Draw the GL drawable, using draw flags.
 
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.
 
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'.
 
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.
 
UInt_t Ref () const
 
Bool_t SetDLCache (Bool_t cached)
 Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw.
 
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).
 
virtual ELODAxes SupportedLODAxes () const
 
UInt_t UnrefFirstPhysical ()
 Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else.
 
void UpdateBoundingBoxesOfPhysicals ()
 Update bounding-boxed of all dependent physicals.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TEveDigitSetGL
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TGLObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TClassGetGLRenderer (TClass *isa)
 Return direct-rendering GL class for class isa.
 
- Static Public Member Functions inherited from TGLLogicalShape
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Bool_t GetIgnoreSizeForCameraInterest ()
 Get state of static fgIgnoreSizeForCameraInterest flag.
 
static void SetEnvDefaults ()
 
static void SetIgnoreSizeForCameraInterest (Bool_t isfci)
 Set state of static fgIgnoreSizeForCameraInterest flag.
 

Protected Member Functions

void MakeDisplayList () const
 Create a display-list for rendering a single box, based on the current box-type.
 
void MakeOriginBox (Float_t p[8][3], Float_t dx, Float_t dy, Float_t dz) const
 Fill array p to represent a box (0,0,0) - (dx,dy,dz).
 
Int_t PrimitiveType () const
 Return GL primitive used to render the boxes, based on the render-mode specified in the model object.
 
void RenderBoxAutoNorm (const Float_t p[8][3]) const
 Render box, calculate normals on the fly from first three points.
 
void RenderBoxes (TGLRnrCtx &rnrCtx) const
 GL rendering for all box-types.
 
void RenderBoxStdNorm (const Float_t p[8][3]) const
 Render a box specified by points in array p with standard axis-aligned normals.
 
- Protected Member Functions inherited from TEveDigitSetGL
void DrawFrameIfNeeded (TGLRnrCtx &rnrCtx) const
 Make a decision if the frame should be drawn.
 
Bool_t SetupColor (const TEveDigitSet::DigitBase_t &q) const
 Set color for rendering of the specified digit.
 
- Protected Member Functions inherited from TGLObject
template<class TT >
TT * DynCast (TObject *obj)
 
void SetAxisAlignedBBox (const Float_t *p)
 Set axis-aligned bounding-box.
 
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.
 
Bool_t SetModelCheckClass (TObject *obj, TClass *cls)
 Checks if obj is of proper class and sets the model.
 
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.
 

Protected Attributes

UInt_t fBoxDL
 
TEveBoxSetfM
 
- 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.
 
UInt_t fDLBase
 scene where object is stored (can be zero!)
 
Bool_t fDLCache
 display-list validity bit-field
 
Int_t fDLSize
 display-list id base
 
UShort_t fDLValid
 display-list size for different LODs
 
TObjectfExternalObj
 first replica
 
TGLPhysicalShapefFirstPhysical
 physical instance ref counting
 
Bool_t fOwnExtObj
 Strong ref (delete on 0 ref); not in scene.
 
UInt_t fRef
 
Bool_t fRefStrong
 use display list caching
 
TGLScenefScene
 Shape's bounding box.
 

Private Member Functions

 TEveBoxSetGL (const TEveBoxSetGL &)
 
TEveBoxSetGLoperator= (const TEveBoxSetGL &)
 

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 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
 

#include <TEveBoxSetGL.h>

Inheritance diagram for TEveBoxSetGL:
[legend]

Constructor & Destructor Documentation

◆ TEveBoxSetGL() [1/2]

TEveBoxSetGL::TEveBoxSetGL ( const TEveBoxSetGL )
private

◆ TEveBoxSetGL() [2/2]

TEveBoxSetGL::TEveBoxSetGL ( )

Default constructor.

Definition at line 30 of file TEveBoxSetGL.cxx.

◆ ~TEveBoxSetGL()

TEveBoxSetGL::~TEveBoxSetGL ( )
override

Destructor.

Definition at line 39 of file TEveBoxSetGL.cxx.

Member Function Documentation

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

static constexpr Version_t TEveBoxSetGL::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 49 of file TEveBoxSetGL.h.

◆ DeclFileName()

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

Definition at line 49 of file TEveBoxSetGL.h.

◆ DirectDraw()

void TEveBoxSetGL::DirectDraw ( TGLRnrCtx rnrCtx) const
overridevirtual

Actual rendering code.

Virtual from TGLLogicalShape.

Implements TGLLogicalShape.

Definition at line 467 of file TEveBoxSetGL.cxx.

◆ DLCacheDrop()

void TEveBoxSetGL::DLCacheDrop ( )
overridevirtual

Called when display lists have been destroyed externally and the internal display-list data needs to be cleare.

Virtual from TGLLogicalShape.

Reimplemented from TGLLogicalShape.

Definition at line 240 of file TEveBoxSetGL.cxx.

◆ DLCachePurge()

void TEveBoxSetGL::DLCachePurge ( )
overridevirtual

Called when display-lists need to be returned to the system.

Virtual from TGLLogicalShape.

Reimplemented from TGLLogicalShape.

Definition at line 250 of file TEveBoxSetGL.cxx.

◆ IsA()

TClass * TEveBoxSetGL::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TGLLogicalShape.

Definition at line 49 of file TEveBoxSetGL.h.

◆ MakeDisplayList()

void TEveBoxSetGL::MakeDisplayList ( ) const
protected

Create a display-list for rendering a single box, based on the current box-type.

Some box-types don't benefit from the display-list rendering and so display-list is not created.

Definition at line 166 of file TEveBoxSetGL.cxx.

◆ MakeOriginBox()

void TEveBoxSetGL::MakeOriginBox ( Float_t  p[8][3],
Float_t  dx,
Float_t  dy,
Float_t  dz 
) const
protected

Fill array p to represent a box (0,0,0) - (dx,dy,dz).

Definition at line 56 of file TEveBoxSetGL.cxx.

◆ operator=()

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

◆ PrimitiveType()

Int_t TEveBoxSetGL::PrimitiveType ( ) const
protected

Return GL primitive used to render the boxes, based on the render-mode specified in the model object.

Definition at line 48 of file TEveBoxSetGL.cxx.

◆ Render()

void TEveBoxSetGL::Render ( TGLRnrCtx rnrCtx)
virtual

Interface for direct rendering from classes that include TEveBoxSet as a member.

Definition at line 511 of file TEveBoxSetGL.cxx.

◆ RenderBoxAutoNorm()

void TEveBoxSetGL::RenderBoxAutoNorm ( const Float_t  p[8][3]) const
protected

Render box, calculate normals on the fly from first three points.

Definition at line 124 of file TEveBoxSetGL.cxx.

◆ RenderBoxes()

void TEveBoxSetGL::RenderBoxes ( TGLRnrCtx rnrCtx) const
protected

GL rendering for all box-types.

Definition at line 284 of file TEveBoxSetGL.cxx.

◆ RenderBoxStdNorm()

void TEveBoxSetGL::RenderBoxStdNorm ( const Float_t  p[8][3]) const
inlineprotected

Render a box specified by points in array p with standard axis-aligned normals.

Definition at line 74 of file TEveBoxSetGL.cxx.

◆ SetModel()

Bool_t TEveBoxSetGL::SetModel ( TObject obj,
const Option_t opt = nullptr 
)
overridevirtual

Set model object.

Virtual from TGLObject.

Implements TGLObject.

Definition at line 264 of file TEveBoxSetGL.cxx.

◆ ShouldDLCache()

Bool_t TEveBoxSetGL::ShouldDLCache ( const TGLRnrCtx rnrCtx) const
overridevirtual

Determines if display-list will be used for rendering.

Virtual from TGLLogicalShape.

Reimplemented from TGLLogicalShape.

Definition at line 230 of file TEveBoxSetGL.cxx.

◆ Streamer()

void TEveBoxSetGL::Streamer ( TBuffer )
overridevirtual

Reimplemented from TGLLogicalShape.

◆ StreamerNVirtual()

void TEveBoxSetGL::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 49 of file TEveBoxSetGL.h.

Member Data Documentation

◆ fBoxDL

UInt_t TEveBoxSetGL::fBoxDL
mutableprotected

Definition at line 26 of file TEveBoxSetGL.h.

◆ fM

TEveBoxSet* TEveBoxSetGL::fM
protected

Definition at line 24 of file TEveBoxSetGL.h.

Libraries for TEveBoxSetGL:

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