![]() |
ROOT 6.10/09 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 | AlwaysSecondarySelect () const |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
Draw the object. More... | |
virtual void | DLCacheDrop () |
Drop all display-list definitions. More... | |
virtual void | DLCachePurge () |
Unregister all display-lists. More... | |
virtual void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const |
Draw highligted cells. More... | |
virtual void | ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) |
Processes tower selection from TGLViewer. More... | |
virtual void | SetBBox () |
Set bounding box. More... | |
virtual Bool_t | SetModel (TObject *obj, const Option_t *opt=0) |
Set model object. More... | |
virtual Bool_t | SupportsSecondarySelect () const |
![]() | |
TGLObject () | |
virtual | ~TGLObject () |
virtual Bool_t | KeepDuringSmartRefresh () const |
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... | |
![]() | |
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... | |
void | AddRef (TGLPhysicalShape *phys) const |
Add reference to given physical shape. More... | |
const TGLBoundingBox & | BoundingBox () const |
void | DestroyPhysicals () |
Destroy all physicals attached to this logical. More... | |
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 UInt_t | DLOffset (Short_t) const |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Draw the GL drawable, using draw flags. More... | |
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. 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 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... | |
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 |
UInt_t | UnrefFirstPhysical () |
Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else. More... | |
void | UpdateBoundingBoxesOfPhysicals () |
Update bounding-boxed of all dependent physicals. More... | |
Private Types | |
typedef std::map< Int_t, UInt_t >::iterator | SliceDLMap_i |
typedef std::map< Int_t, UInt_t > | SliceDLMap_t |
typedef std::vector< Cell2D_t >::iterator | vCell2D_i |
typedef std::vector< Cell2D_t > | vCell2D_t |
Private Member Functions | |
TEveCaloLegoGL (const TEveCaloLegoGL &) | |
void | DrawAxis2D (TGLRnrCtx &rnrCtx) const |
Draw XY axis. 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 | 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 | 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... | |
Int_t | GetGridStep (TGLRnrCtx &rnrCtx) const |
Calculate view-dependent grid density. More... | |
void | GetScaleForMatrix (Float_t &sx, Float_t &sy, Float_t &sz) const |
Get scale for matrix. 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 | 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... | |
TEveCaloLegoGL & | operator= (const TEveCaloLegoGL &) |
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 | 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 | WrapTwoPi (Float_t &min, Float_t &max) const |
Friends | |
class | TEveCaloLegoOverlay |
Additional Inherited Members | |
![]() | |
enum | ELODAxes { kLODAxesNone = 0, kLODAxesX = 1 << 0, kLODAxesY = 1 << 1, kLODAxesZ = 1 << 2, kLODAxesAll = kLODAxesX | kLODAxesY | kLODAxesZ } |
![]() | |
static TClass * | GetGLRenderer (TClass *isa) |
Return direct-rendering GL class for class isa. More... | |
![]() | |
static Bool_t | GetIgnoreSizeForCameraInterest () |
Get state of static fgIgnoreSizeForCameraInterest flag. More... | |
static void | SetIgnoreSizeForCameraInterest (Bool_t isfci) |
Set state of static fgIgnoreSizeForCameraInterest flag. More... | |
![]() | |
template<class TT > | |
TT * | DynCast (TObject *obj) |
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... | |
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) |
![]() | |
void | PurgeDLRange (UInt_t base, Int_t size) const |
External object is a fake. More... | |
![]() | |
Bool_t | fMultiColor |
![]() | |
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... | |
TObject * | fExternalObj |
first replica More... | |
TGLPhysicalShape * | fFirstPhysical |
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... | |
TGLScene * | fScene |
Shape's bounding box. More... | |
![]() | |
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.
|
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.
Draw XY axis.
Definition at line 605 of file TEveCaloLegoGL.cxx.
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.
Draw cells in top view.
Definition at line 937 of file TEveCaloLegoGL.cxx.
Render the calo lego-plot with OpenGL.
Definition at line 813 of file TEveCaloLegoGL.cxx.
|
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.
|
private |
Draw selected cells in highlight mode.
Definition at line 1139 of file TEveCaloLegoGL.cxx.
Calculate view-dependent grid density.
Definition at line 683 of file TEveCaloLegoGL.cxx.
Get scale for matrix.
Definition at line 582 of file TEveCaloLegoGL.cxx.
|
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.
|
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.
|
private |
Draw an axis-aligned box using quads.
Definition at line 145 of file TEveCaloLegoGL.cxx.
|
private |
|
private |
Prepare cells 2D data non-rebinned for drawing.
Definition at line 840 of file TEveCaloLegoGL.cxx.
|
private |
Prepare cells 2D rebinned data for drawing.
Definition at line 888 of file TEveCaloLegoGL.cxx.
|
virtual |
Processes tower selection from TGLViewer.
Reimplemented from TGLLogicalShape.
Definition at line 1407 of file TEveCaloLegoGL.cxx.
Rebin eta, phi axis.
Definition at line 726 of file TEveCaloLegoGL.cxx.
|
private |
Set the axis 3D title position.
Definition at line 293 of file TEveCaloLegoGL.cxx.
|
virtual |
|
inlinevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 137 of file TEveCaloLegoGL.h.
Definition at line 145 of file TEveCaloLegoGL.h.
|
friend |
Definition at line 28 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 77 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 74 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 75 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 92 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 82 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 90 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 87 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 81 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 89 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 68 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 66 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 65 of file TEveCaloLegoGL.h.
|
private |
Definition at line 80 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 85 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 69 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 84 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 86 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 71 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 72 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 70 of file TEveCaloLegoGL.h.
|
mutableprivate |
Definition at line 73 of file TEveCaloLegoGL.h.