ROOT
6.07/01
Reference Guide
|
OpenGL renderer class for TEveCaloLego.
Definition at line 26 of file TEveCaloLegoGL.h.
Classes | |
struct | Cell2D_t |
Public Member Functions | |
TEveCaloLegoGL () | |
Constructor. More... | |
virtual | ~TEveCaloLegoGL () |
Destructor. More... | |
virtual Bool_t | SetModel (TObject *obj, const Option_t *opt=0) |
Set model object. More... | |
virtual void | SetBBox () |
Set bounding box. More... | |
virtual void | DLCacheDrop () |
Drop all display-list definitions. More... | |
virtual void | DLCachePurge () |
Unregister all display-lists. More... | |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
Draw the object. More... | |
virtual void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const |
Draw highligted cells. More... | |
virtual Bool_t | SupportsSecondarySelect () const |
virtual Bool_t | AlwaysSecondarySelect () const |
virtual void | ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) |
Processes tower selection from TGLViewer. More... | |
ClassDef (TEveCaloLegoGL, 0) | |
Public Member Functions inherited from TGLObject | |
TGLObject () | |
virtual | ~TGLObject () |
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 Bool_t | KeepDuringSmartRefresh () const |
virtual void | UpdateBoundingBox () |
Update bounding box from external source. More... | |
ClassDef (TGLObject, 0) | |
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 TGLPhysicalShape * | GetFirstPhysical () const |
TObject * | ID () const |
TObject * | GetExternal () const |
TGLScene * | GetScene () const |
const TGLBoundingBox & | BoundingBox () const |
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 UInt_t | DLOffset (Short_t) const |
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 ELODAxes | SupportedLODAxes () const |
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... | |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Draw the GL drawable, using draw flags. 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... | |
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 Types | |
typedef std::vector< Cell2D_t > | vCell2D_t |
typedef std::vector< Cell2D_t > ::iterator | vCell2D_i |
typedef std::map< Int_t, UInt_t > | SliceDLMap_t |
typedef std::map< Int_t, UInt_t >::iterator | SliceDLMap_i |
Private Member Functions | |
TEveCaloLegoGL (const TEveCaloLegoGL &) | |
TEveCaloLegoGL & | operator= (const TEveCaloLegoGL &) |
void | GetScaleForMatrix (Float_t &sx, Float_t &sy, Float_t &sz) const |
Get scale for matrix. More... | |
Int_t | GetGridStep (TGLRnrCtx &rnrCtx) const |
Calculate view-dependent grid density. More... | |
void | RebinAxis (TAxis *orig, TAxis *curr) const |
Rebin eta, phi axis. More... | |
void | SetAxis3DTitlePos (TGLRnrCtx &rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const |
Set the axis 3D title position. More... | |
void | DrawAxis3D (TGLRnrCtx &rnrCtx) const |
Draw z-axis and z-box at the appropriate grid corner-point including tick-marks and labels. More... | |
void | DrawAxis2D (TGLRnrCtx &rnrCtx) const |
Draw XY axis. More... | |
void | DrawHistBase (TGLRnrCtx &rnrCtx) const |
Draw basic histogram components: x-y grid. More... | |
void | DrawSelectedCells (TGLRnrCtx &rnrCtx, TEveCaloData::vCellId_t cells) const |
Draw selected cells in highlight mode. More... | |
void | PrepareCell2DData (TEveCaloData::vCellId_t &cellList, vCell2D_t &cells2D) const |
Prepare cells 2D data non-rebinned for drawing. More... | |
void | PrepareCell2DDataRebin (TEveCaloData::RebinData_t &rebinData, vCell2D_t &cells2D) const |
Prepare cells 2D rebinned data for drawing. More... | |
void | DrawCells2D (TGLRnrCtx &rnrCtx, vCell2D_t &cells2D) const |
Draw cells in top view. More... | |
void | DrawCells3D (TGLRnrCtx &rnrCtx) const |
Render the calo lego-plot with OpenGL. More... | |
void | MakeQuad (Float_t x, Float_t y, Float_t z, Float_t xw, Float_t yw, Float_t zh) const |
Draw an axis-aligned box using quads. More... | |
void | Make3DDisplayList (TEveCaloData::vCellId_t &cellList, SliceDLMap_t &map, Bool_t select) const |
Create display-list that draws histogram bars for non-rebinned data. More... | |
void | Make3DDisplayListRebin (TEveCaloData::RebinData_t &rebinData, SliceDLMap_t &map, Bool_t select) const |
Create display-list that draws histogram bars for rebinned data. More... | |
void | WrapTwoPi (Float_t &min, Float_t &max) const |
Friends | |
class | TEveCaloLegoOverlay |
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 TClass * | GetGLRenderer (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 | SetIgnoreSizeForCameraInterest (Bool_t isfci) |
Set state of static fgIgnoreSizeForCameraInterest flag. More... | |
Protected Member Functions inherited from TGLObject | |
Bool_t | SetModelCheckClass (TObject *obj, TClass *cls) |
Checks if obj is of proper class and sets the model. 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... | |
void | SetAxisAlignedBBox (const Float_t *p) |
Set axis-aligned bounding-box. More... | |
template<class TT > | |
TT * | SetModelDynCast (TObject *obj) |
template<class TT > | |
TT * | DynCast (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 inherited from TGLObject | |
Bool_t | fMultiColor |
Protected Attributes inherited from TGLLogicalShape | |
UInt_t | fRef |
TGLPhysicalShape * | fFirstPhysical |
physical instance ref counting More... | |
TObject * | fExternalObj |
first replica More... | |
TGLBoundingBox | fBoundingBox |
Also plays the role of ID. More... | |
TGLScene * | fScene |
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 <TEveCaloLegoGL.h>
|
private |
Definition at line 62 of file TEveCaloLegoGL.h.
|
private |
Definition at line 61 of file TEveCaloLegoGL.h.
|
private |
Definition at line 59 of file TEveCaloLegoGL.h.
|
private |
Definition at line 58 of file TEveCaloLegoGL.h.
|
private |
TEveCaloLegoGL::TEveCaloLegoGL | ( | ) |
Constructor.
Definition at line 45 of file TEveCaloLegoGL.cxx.
|
virtual |
Destructor.
Definition at line 74 of file TEveCaloLegoGL.cxx.
|
inlinevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 138 of file TEveCaloLegoGL.h.
TEveCaloLegoGL::ClassDef | ( | TEveCaloLegoGL | , |
0 | |||
) |
|
virtual |
Drop all display-list definitions.
Reimplemented from TGLLogicalShape.
Definition at line 103 of file TEveCaloLegoGL.cxx.
|
virtual |
Unregister all display-lists.
Reimplemented from TGLLogicalShape.
Definition at line 115 of file TEveCaloLegoGL.cxx.
Referenced by ~TEveCaloLegoGL().
Draw z-axis and z-box at the appropriate grid corner-point including tick-marks and labels.
Definition at line 424 of file TEveCaloLegoGL.cxx.
Referenced by DrawHistBase().
Draw cells in top view.
Definition at line 937 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw(), and DrawSelectedCells().
Render the calo lego-plot with OpenGL.
Definition at line 813 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw().
|
virtual |
Draw highligted cells.
Reimplemented from TGLLogicalShape.
Definition at line 1091 of file TEveCaloLegoGL.cxx.
Draw basic histogram components: x-y grid.
Definition at line 746 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw().
|
private |
Draw selected cells in highlight mode.
Definition at line 1139 of file TEveCaloLegoGL.cxx.
Referenced by DrawHighlight().
Calculate view-dependent grid density.
Definition at line 683 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw().
Get scale for matrix.
Definition at line 582 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw(), and DrawHighlight().
|
private |
Create display-list that draws histogram bars for non-rebinned data.
It is used for filled and outline passes.
Definition at line 206 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw().
|
private |
Create display-list that draws histogram bars for rebinned data.
It is used for filled and outline passes.
Definition at line 248 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw().
|
private |
Draw an axis-aligned box using quads.
Definition at line 145 of file TEveCaloLegoGL.cxx.
Referenced by DrawSelectedCells(), Make3DDisplayList(), and Make3DDisplayListRebin().
|
private |
|
private |
Prepare cells 2D data non-rebinned for drawing.
Definition at line 840 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw().
|
private |
Prepare cells 2D rebinned data for drawing.
Definition at line 888 of file TEveCaloLegoGL.cxx.
Referenced by DirectDraw(), and DrawSelectedCells().
|
virtual |
Processes tower selection from TGLViewer.
Reimplemented from TGLLogicalShape.
Definition at line 1407 of file TEveCaloLegoGL.cxx.
|
private |
Set the axis 3D title position.
Definition at line 293 of file TEveCaloLegoGL.cxx.
Referenced by DrawHistBase().
|
virtual |
|
inlinevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 137 of file TEveCaloLegoGL.h.
Definition at line 145 of file TEveCaloLegoGL.h.
Referenced by DrawSelectedCells(), Make3DDisplayList(), Make3DDisplayListRebin(), and PrepareCell2DData().
|
friend |
Definition at line 28 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 77 of file TEveCaloLegoGL.h.
Referenced by DrawAxis2D(), DrawAxis3D(), and TEveCaloLegoGL().
|
mutableprivate |
Definition at line 74 of file TEveCaloLegoGL.h.
Referenced by DrawAxis3D(), and SetAxis3DTitlePos().
|
mutableprivate |
Definition at line 75 of file TEveCaloLegoGL.h.
Referenced by DrawAxis3D(), and SetAxis3DTitlePos().
|
mutableprivate |
Definition at line 92 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawSelectedCells(), ProcessSelection(), RebinAxis(), and TEveCaloLegoOverlay::Render().
|
mutableprivate |
Definition at line 82 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawCells2D(), and DrawSelectedCells().
|
mutableprivate |
Definition at line 90 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawHighlight(), DrawHistBase(), DrawSelectedCells(), and ProcessSelection().
|
mutableprivate |
Definition at line 87 of file TEveCaloLegoGL.h.
Referenced by DrawCells2D(), and GetGridStep().
|
mutableprivate |
Definition at line 81 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DLCacheDrop(), and DLCachePurge().
|
mutableprivate |
Definition at line 89 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DLCacheDrop(), DLCachePurge(), and DrawCells3D().
|
mutableprivate |
Definition at line 68 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawHistBase(), DrawSelectedCells(), Make3DDisplayListRebin(), PrepareCell2DDataRebin(), ProcessSelection(), TEveCaloLegoGL(), and ~TEveCaloLegoGL().
|
mutableprivate |
Definition at line 66 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawAxis2D(), and DrawAxis3D().
|
mutableprivate |
Definition at line 65 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawAxis2D(), DrawAxis3D(), and DrawHistBase().
|
private |
Definition at line 80 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawAxis2D(), DrawAxis3D(), DrawCells2D(), DrawCells3D(), DrawHighlight(), DrawHistBase(), DrawSelectedCells(), GetGridStep(), GetScaleForMatrix(), Make3DDisplayList(), Make3DDisplayListRebin(), MakeQuad(), PrepareCell2DData(), PrepareCell2DDataRebin(), ProcessSelection(), SetAxis3DTitlePos(), SetModel(), and WrapTwoPi().
|
mutableprivate |
Definition at line 85 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawAxis3D(), DrawCells2D(), GetScaleForMatrix(), and SetAxis3DTitlePos().
|
mutableprivate |
Definition at line 69 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), DrawHistBase(), DrawSelectedCells(), Make3DDisplayListRebin(), PrepareCell2DDataRebin(), ProcessSelection(), TEveCaloLegoGL(), and ~TEveCaloLegoGL().
|
mutableprivate |
Definition at line 84 of file TEveCaloLegoGL.h.
Referenced by DirectDraw(), and DrawSelectedCells().
|
mutableprivate |
Definition at line 86 of file TEveCaloLegoGL.h.
Referenced by DrawCells2D().
|
mutableprivate |
Definition at line 71 of file TEveCaloLegoGL.h.
Referenced by DrawAxis3D(), and SetAxis3DTitlePos().
|
mutableprivate |
Definition at line 72 of file TEveCaloLegoGL.h.
Referenced by DrawAxis3D(), and SetAxis3DTitlePos().
|
mutableprivate |
Definition at line 70 of file TEveCaloLegoGL.h.
Referenced by DrawAxis3D(), TEveCaloLegoGL(), and ~TEveCaloLegoGL().
|
mutableprivate |
Definition at line 73 of file TEveCaloLegoGL.h.
Referenced by DrawAxis3D(), and SetAxis3DTitlePos().