OpenGL renderer class for TEveCaloLego.
Definition at line 27 of file TEveCaloLegoGL.h.
Classes | |
| struct | Cell2D_t | 
Public Member Functions | |
| TEveCaloLegoGL () | |
| Constructor.   | |
| ~TEveCaloLegoGL () override | |
| Destructor.   | |
| Bool_t | AlwaysSecondarySelect () const override | 
| void | DirectDraw (TGLRnrCtx &rnrCtx) const override | 
| Draw the object.   | |
| void | DLCacheDrop () override | 
| Drop all display-list definitions.   | |
| void | DLCachePurge () override | 
| Unregister all display-lists.   | |
| void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const override | 
| Draw highligted cells.   | |
| TClass * | IsA () const override | 
| void | ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) override | 
| Processes tower selection from TGLViewer.   | |
| void | SetBBox () override | 
| Set bounding box.   | |
| Bool_t | SetModel (TObject *obj, const Option_t *opt=nullptr) override | 
| Set model object.   | |
| 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 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.   | |
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.   | |
| void | DrawAxis3D (TGLRnrCtx &rnrCtx) const | 
| Draw z-axis and z-box at the appropriate grid corner-point including tick-marks and labels.   | |
| void | DrawCells2D (TGLRnrCtx &rnrCtx, vCell2D_t &cells2D) const | 
| Draw cells in top view.   | |
| void | DrawCells3D (TGLRnrCtx &rnrCtx) const | 
| Render the calo lego-plot with OpenGL.   | |
| void | DrawHistBase (TGLRnrCtx &rnrCtx) const | 
| Draw basic histogram components: x-y grid.   | |
| void | DrawSelectedCells (TGLRnrCtx &rnrCtx, TEveCaloData::vCellId_t cells) const | 
| Draw selected cells in highlight mode.   | |
| Int_t | GetGridStep (TGLRnrCtx &rnrCtx) const | 
| Calculate view-dependent grid density.   | |
| void | GetScaleForMatrix (Float_t &sx, Float_t &sy, Float_t &sz) const | 
| Get scale for matrix.   | |
| void | Make3DDisplayList (TEveCaloData::vCellId_t &cellList, SliceDLMap_t &map, Bool_t select) const | 
| Create display-list that draws histogram bars for non-rebinned data.   | |
| void | Make3DDisplayListRebin (TEveCaloData::RebinData_t &rebinData, SliceDLMap_t &map, Bool_t select) const | 
| Create display-list that draws histogram bars for rebinned data.   | |
| 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.   | |
| TEveCaloLegoGL & | operator= (const TEveCaloLegoGL &) | 
| void | PrepareCell2DData (TEveCaloData::vCellId_t &cellList, vCell2D_t &cells2D) const | 
| Prepare cells 2D data non-rebinned for drawing.   | |
| void | PrepareCell2DDataRebin (TEveCaloData::RebinData_t &rebinData, vCell2D_t &cells2D) const | 
| Prepare cells 2D rebinned data for drawing.   | |
| void | RebinAxis (TAxis *orig, TAxis *curr) const | 
| Rebin eta, phi axis.   | |
| void | SetAxis3DTitlePos (TGLRnrCtx &rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const | 
| Set the axis 3D title position.   | |
| 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 }  | 
  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 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.   | |
  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 <TEveCaloLegoGL.h>
      
  | 
  private | 
Definition at line 63 of file TEveCaloLegoGL.h.
      
  | 
  private | 
Definition at line 62 of file TEveCaloLegoGL.h.
      
  | 
  private | 
Definition at line 60 of file TEveCaloLegoGL.h.
      
  | 
  private | 
Definition at line 59 of file TEveCaloLegoGL.h.
      
  | 
  private | 
| TEveCaloLegoGL::TEveCaloLegoGL | ( | ) | 
Constructor.
Definition at line 44 of file TEveCaloLegoGL.cxx.
      
  | 
  override | 
Destructor.
Definition at line 73 of file TEveCaloLegoGL.cxx.
      
  | 
  inlineoverridevirtual | 
Reimplemented from TGLLogicalShape.
Definition at line 139 of file TEveCaloLegoGL.h.
Definition at line 142 of file TEveCaloLegoGL.h.
Definition at line 142 of file TEveCaloLegoGL.h.
      
  | 
  overridevirtual | 
      
  | 
  overridevirtual | 
Drop all display-list definitions.
Reimplemented from TGLLogicalShape.
Definition at line 102 of file TEveCaloLegoGL.cxx.
      
  | 
  overridevirtual | 
Unregister all display-lists.
Reimplemented from TGLLogicalShape.
Definition at line 114 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Draw XY axis.
Definition at line 604 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Draw z-axis and z-box at the appropriate grid corner-point including tick-marks and labels.
Definition at line 423 of file TEveCaloLegoGL.cxx.
Draw cells in top view.
Definition at line 936 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Render the calo lego-plot with OpenGL.
Definition at line 812 of file TEveCaloLegoGL.cxx.
      
  | 
  overridevirtual | 
Draw highligted cells.
Reimplemented from TGLLogicalShape.
Definition at line 1090 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Draw basic histogram components: x-y grid.
Definition at line 745 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Draw selected cells in highlight mode.
Definition at line 1138 of file TEveCaloLegoGL.cxx.
Calculate view-dependent grid density.
Definition at line 682 of file TEveCaloLegoGL.cxx.
Get scale for matrix.
Definition at line 581 of file TEveCaloLegoGL.cxx.
      
  | 
  inlineoverridevirtual | 
Reimplemented from TGLLogicalShape.
Definition at line 142 of file TEveCaloLegoGL.h.
      
  | 
  private | 
Create display-list that draws histogram bars for non-rebinned data.
It is used for filled and outline passes.
Definition at line 205 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 247 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Draw an axis-aligned box using quads.
Definition at line 144 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
      
  | 
  private | 
Prepare cells 2D data non-rebinned for drawing.
Definition at line 839 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Prepare cells 2D rebinned data for drawing.
Definition at line 887 of file TEveCaloLegoGL.cxx.
      
  | 
  overridevirtual | 
Processes tower selection from TGLViewer.
Reimplemented from TGLLogicalShape.
Definition at line 1407 of file TEveCaloLegoGL.cxx.
Rebin eta, phi axis.
Definition at line 725 of file TEveCaloLegoGL.cxx.
      
  | 
  private | 
Set the axis 3D title position.
Definition at line 292 of file TEveCaloLegoGL.cxx.
      
  | 
  overridevirtual | 
      
  | 
  overridevirtual | 
Reimplemented from TGLLogicalShape.
      
  | 
  inline | 
Definition at line 142 of file TEveCaloLegoGL.h.
      
  | 
  inlineoverridevirtual | 
Reimplemented from TGLLogicalShape.
Definition at line 138 of file TEveCaloLegoGL.h.
Definition at line 146 of file TEveCaloLegoGL.h.
      
  | 
  friend | 
Definition at line 29 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 78 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 75 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 76 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 93 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 83 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 91 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 88 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 69 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 67 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 66 of file TEveCaloLegoGL.h.
      
  | 
  private | 
Definition at line 81 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 86 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 70 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 85 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 87 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 72 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 73 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 71 of file TEveCaloLegoGL.h.
      
  | 
  mutableprivate | 
Definition at line 74 of file TEveCaloLegoGL.h.