ROOT
6.07/01
Reference Guide
|
OpenGL renderer class for TEveCalo3D.
Definition at line 20 of file TEveCalo3DGL.h.
Public Member Functions | |
TEveCalo3DGL () | |
Constructor. More... | |
virtual | ~TEveCalo3DGL () |
virtual Bool_t | SetModel (TObject *obj, const Option_t *opt=0) |
Set model object. More... | |
virtual void | SetBBox () |
Set bounding box. More... | |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
GL rendering. More... | |
virtual void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const |
Draw polygons in highlight mode. More... | |
virtual Bool_t | ShouldDLCache (const TGLRnrCtx &rnrCtx) const |
Override from TGLObject. More... | |
virtual Bool_t | SupportsSecondarySelect () const |
virtual Bool_t | AlwaysSecondarySelect () const |
virtual void | ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) |
Processes tower selection. More... | |
ClassDef (TEveCalo3DGL, 0) | |
Public Member Functions inherited from TGLObject | |
TGLObject () | |
virtual | ~TGLObject () |
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 void | DLCacheDrop () |
Drop all entries for all LODs for this drawable from the display list cache, WITHOUT returning the reserved ids to GL context. More... | |
virtual void | DLCachePurge () |
Purge all entries for all LODs for this drawable from the display list cache, returning the reserved ids to 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... | |
Protected Attributes | |
TEveCalo3D * | fM |
std::vector< Float_t > | fOffset |
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... | |
Private Member Functions | |
TEveCalo3DGL (const TEveCalo3DGL &) | |
TEveCalo3DGL & | operator= (const TEveCalo3DGL &) |
void | CrossProduct (const Float_t a[3], const Float_t b[3], const Float_t c[3], Float_t out[3]) const |
Calculate cross-product. More... | |
void | RenderBox (const Float_t pnts[8]) const |
Render box with given points. More... | |
void | RenderGridEndCap () const |
Render end cap grid. More... | |
void | RenderGridBarrel () const |
Render barrel grid. More... | |
void | RenderGrid (TGLRnrCtx &rnrCtx) const |
Draw frame reading eta, phi axis. More... | |
void | RenderBarrelCell (const TEveCaloData::CellGeom_t &cell, Float_t towerH, Float_t &offset) const |
Render barrel cell. More... | |
void | RenderEndCapCell (const TEveCaloData::CellGeom_t &cell, Float_t towerH, Float_t &offset) const |
Render an endcap cell. More... | |
void | DrawSelectedCells (TEveCaloData::vCellId_t cells) const |
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... | |
Static Protected Attributes inherited from TGLLogicalShape | |
static Bool_t | fgIgnoreSizeForCameraInterest = kFALSE |
#include <TEveCalo3DGL.h>
|
private |
TEveCalo3DGL::TEveCalo3DGL | ( | ) |
Constructor.
Definition at line 36 of file TEveCalo3DGL.cxx.
|
inlinevirtual |
Definition at line 44 of file TEveCalo3DGL.h.
|
inlinevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 54 of file TEveCalo3DGL.h.
TEveCalo3DGL::ClassDef | ( | TEveCalo3DGL | , |
0 | |||
) |
|
virtual |
Draw polygons in highlight mode.
Reimplemented from TGLLogicalShape.
Definition at line 602 of file TEveCalo3DGL.cxx.
|
private |
Definition at line 638 of file TEveCalo3DGL.cxx.
Referenced by DrawHighlight().
|
private |
|
virtual |
Processes tower selection.
Virtual function from TGLogicalShape. Called from TGLViewer.
Reimplemented from TGLLogicalShape.
Definition at line 673 of file TEveCalo3DGL.cxx.
|
private |
Render barrel cell.
Definition at line 399 of file TEveCalo3DGL.cxx.
Referenced by DirectDraw(), and DrawSelectedCells().
Render box with given points.
Definition at line 335 of file TEveCalo3DGL.cxx.
Referenced by RenderBarrelCell(), and RenderEndCapCell().
|
private |
Render an endcap cell.
Definition at line 469 of file TEveCalo3DGL.cxx.
Referenced by DirectDraw(), and DrawSelectedCells().
Draw frame reading eta, phi axis.
Definition at line 275 of file TEveCalo3DGL.cxx.
Referenced by DirectDraw().
|
private |
|
private |
|
virtual |
Override from TGLObject.
To account for large point-sizes we modify the projection matrix during selection and thus we need a direct draw.
Reimplemented from TGLObject.
Definition at line 65 of file TEveCalo3DGL.cxx.
|
inlinevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 53 of file TEveCalo3DGL.h.
|
protected |
Definition at line 38 of file TEveCalo3DGL.h.
Referenced by DirectDraw(), DrawHighlight(), DrawSelectedCells(), ProcessSelection(), RenderBarrelCell(), RenderEndCapCell(), RenderGrid(), RenderGridBarrel(), RenderGridEndCap(), and SetModel().
|
mutableprotected |
Definition at line 40 of file TEveCalo3DGL.h.
Referenced by DirectDraw(), and DrawSelectedCells().