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. | |
TClass * | IsA () 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. | |
TClass * | IsA () 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 | |
TClass * | IsA () 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 TGLBoundingBox & | BoundingBox () 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. | |
TObject * | GetExternal () const |
const TGLPhysicalShape * | GetFirstPhysical () const |
TGLScene * | GetScene () const |
TObject * | ID () 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 TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TEveDigitSetGL | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TGLObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static TClass * | GetGLRenderer (TClass *isa) |
Return direct-rendering GL class for class isa. | |
Static Public Member Functions inherited from TGLLogicalShape | |
static TClass * | Class () |
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 |
TEveBoxSet * | fM |
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 | |
TObject * | fExternalObj |
first replica | |
TGLPhysicalShape * | fFirstPhysical |
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 | |
TGLScene * | fScene |
Shape's bounding box. | |
Private Member Functions | |
TEveBoxSetGL (const TEveBoxSetGL &) | |
TEveBoxSetGL & | operator= (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>
|
private |
TEveBoxSetGL::TEveBoxSetGL | ( | ) |
Default constructor.
Definition at line 30 of file TEveBoxSetGL.cxx.
|
override |
Destructor.
Definition at line 39 of file TEveBoxSetGL.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 49 of file TEveBoxSetGL.h.
|
inlinestatic |
Definition at line 49 of file TEveBoxSetGL.h.
|
overridevirtual |
Actual rendering code.
Virtual from TGLLogicalShape.
Implements TGLLogicalShape.
Definition at line 467 of file TEveBoxSetGL.cxx.
|
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.
|
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.
|
inlineoverridevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 49 of file TEveBoxSetGL.h.
|
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.
|
protected |
Fill array p to represent a box (0,0,0) - (dx,dy,dz).
Definition at line 56 of file TEveBoxSetGL.cxx.
|
private |
|
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.
|
virtual |
Interface for direct rendering from classes that include TEveBoxSet as a member.
Definition at line 511 of file TEveBoxSetGL.cxx.
|
protected |
Render box, calculate normals on the fly from first three points.
Definition at line 124 of file TEveBoxSetGL.cxx.
|
protected |
GL rendering for all box-types.
Definition at line 284 of file TEveBoxSetGL.cxx.
|
inlineprotected |
Render a box specified by points in array p with standard axis-aligned normals.
Definition at line 74 of file TEveBoxSetGL.cxx.
Set model object.
Virtual from TGLObject.
Implements TGLObject.
Definition at line 264 of file TEveBoxSetGL.cxx.
Determines if display-list will be used for rendering.
Virtual from TGLLogicalShape.
Reimplemented from TGLLogicalShape.
Definition at line 230 of file TEveBoxSetGL.cxx.
|
overridevirtual |
Reimplemented from TGLLogicalShape.
|
inline |
Definition at line 49 of file TEveBoxSetGL.h.
|
mutableprotected |
Definition at line 26 of file TEveBoxSetGL.h.
|
protected |
Definition at line 24 of file TEveBoxSetGL.h.