Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TEveCaloLegoGL Class Reference

OpenGL renderer class for TEveCaloLego.

Definition at line 27 of file TEveCaloLegoGL.h.

Classes

struct  Cell2D_t

Public Types

enum  ELODAxes {
  kLODAxesNone = 0 , kLODAxesX = 1 << 0 , kLODAxesY = 1 << 1 , kLODAxesZ = 1 << 2 ,
  kLODAxesAll = kLODAxesX | kLODAxesY | kLODAxesZ
}

Public Member Functions

 TEveCaloLegoGL ()
 Constructor.
 ~TEveCaloLegoGL () override
 Destructor.
void AddRef (TGLPhysicalShape *phys) const
 Add reference to given physical shape.
Bool_t AlwaysSecondarySelect () const override
const TGLBoundingBoxBoundingBox () const
void DestroyPhysicals ()
 Destroy all physicals attached to this logical.
void DirectDraw (TGLRnrCtx &rnrCtx) const override
 Draw the object.
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.
void DLCacheDrop () override
 Drop all display-list definitions.
void DLCachePurge () override
 Unregister all display-lists.
virtual UInt_t DLOffset (Short_t) const
virtual void Draw (TGLRnrCtx &rnrCtx) const
 Draw the GL drawable, using draw flags.
void DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *ps, Int_t lvl=-1) const override
 Draw highligted cells.
TObjectGetExternal () const
const TGLPhysicalShapeGetFirstPhysical () const
TGLSceneGetScene () const
TObjectID () 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'.
TClassIsA () const override
Bool_t KeepDuringSmartRefresh () const override
void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) override
 Processes tower selection from TGLViewer.
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
void SetBBox () override
 Set bounding box.
Bool_t SetDLCache (Bool_t cached)
 Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw.
Bool_t SetModel (TObject *obj, const Option_t *opt=nullptr) override
 Set model object.
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 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
Bool_t SupportsSecondarySelect () const override
UInt_t UnrefFirstPhysical ()
 Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else.
void UpdateBoundingBox () override
 Update bounding box from external source.
void UpdateBoundingBoxesOfPhysicals ()
 Update bounding-boxed of all dependent physicals.

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static TClassGetGLRenderer (TClass *isa)
 Return direct-rendering GL class for class isa.
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

template<class TT>
TT * DynCast (TObject *obj)
void PurgeDLRange (UInt_t base, Int_t size) const
 Purge given display-list range.
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 Attributes

TGLBoundingBox fBoundingBox
 ! Shape's bounding box.
UInt_t fDLBase
 ! display-list id base
Bool_t fDLCache
 ! use display list caching
Int_t fDLSize
 ! display-list size for different LODs
UShort_t fDLValid
 ! display-list validity bit-field
TObjectfExternalObj
 ! Also plays the role of ID.
TGLPhysicalShapefFirstPhysical
 ! first replica
Bool_t fMultiColor
Bool_t fOwnExtObj
 ! External object is a fake
UInt_t fRef
 ! physical instance ref counting
Bool_t fRefStrong
 ! Strong ref (delete on 0 ref); not in scene
TGLScenefScene
 ! scene where object is stored (can be zero!)

Static Protected Attributes

static Bool_t fgIgnoreSizeForCameraInterest = kFALSE
static Bool_t fgUseDLs = kTRUE
 ! global flag for usage of display-lists
static Bool_t fgUseDLsForVertArrs = kTRUE
 ! global flag for usage of display-lists in shapes that use vertex arrays

Private Types

typedef std::map< Int_t, UInt_t >::iterator SliceDLMap_i
typedef std::map< Int_t, UInt_tSliceDLMap_t
typedef std::vector< Cell2D_t >::iterator vCell2D_i
typedef std::vector< Cell2D_tvCell2D_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.
TEveCaloLegoGLoperator= (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

Static Private Member Functions

static TClassSearchGLRenderer (TClass *cls)
 Recursively search cls and its base classes for a GL-renderer class.

Private Attributes

TGLAxisPainter fAxisPainter
TEveVector fBackPlaneXConst [2]
TEveVector fBackPlaneYConst [2]
Int_t fBinStep
vCell2D_t fCells2D
Bool_t fCells3D
Int_t fCurrentPixelsPerBin
Bool_t fDLCacheOK
SliceDLMap_t fDLMap
TAxisfEtaAxis
Color_t fFontColor
Color_t fGridColor
TEveCaloLegofM
Float_t fMaxVal
TAxisfPhiAxis
TEveCaloData::RebinData_t fRebinData
Float_t fValToPixel
TEveVector fXAxisTitlePos
TEveVector fYAxisTitlePos
TAxisfZAxis
TEveVector fZAxisTitlePos

Static Private Attributes

static TMap fgGLClassMap

Friends

class TEveCaloLegoOverlay

#include <TEveCaloLegoGL.h>

Inheritance diagram for TEveCaloLegoGL:
TGLObject TGLLogicalShape

Member Typedef Documentation

◆ SliceDLMap_i

typedef std::map<Int_t,UInt_t>::iterator TEveCaloLegoGL::SliceDLMap_i
private

Definition at line 63 of file TEveCaloLegoGL.h.

◆ SliceDLMap_t

typedef std::map<Int_t, UInt_t> TEveCaloLegoGL::SliceDLMap_t
private

Definition at line 62 of file TEveCaloLegoGL.h.

◆ vCell2D_i

typedef std::vector<Cell2D_t>::iterator TEveCaloLegoGL::vCell2D_i
private

Definition at line 60 of file TEveCaloLegoGL.h.

◆ vCell2D_t

typedef std::vector<Cell2D_t> TEveCaloLegoGL::vCell2D_t
private

Definition at line 59 of file TEveCaloLegoGL.h.

Member Enumeration Documentation

◆ ELODAxes

enum TGLLogicalShape::ELODAxes
inherited
Enumerator
kLODAxesNone 
kLODAxesX 
kLODAxesY 
kLODAxesZ 
kLODAxesAll 

Definition at line 38 of file TGLLogicalShape.h.

Constructor & Destructor Documentation

◆ TEveCaloLegoGL() [1/2]

TEveCaloLegoGL::TEveCaloLegoGL ( const TEveCaloLegoGL & )
private

◆ TEveCaloLegoGL() [2/2]

TEveCaloLegoGL::TEveCaloLegoGL ( )

Constructor.

Definition at line 43 of file TEveCaloLegoGL.cxx.

◆ ~TEveCaloLegoGL()

TEveCaloLegoGL::~TEveCaloLegoGL ( )
override

Destructor.

Definition at line 72 of file TEveCaloLegoGL.cxx.

Member Function Documentation

◆ AddRef()

void TGLLogicalShape::AddRef ( TGLPhysicalShape * phys) const
inherited

Add reference to given physical shape.

Definition at line 162 of file TGLLogicalShape.cxx.

◆ AlwaysSecondarySelect()

Bool_t TEveCaloLegoGL::AlwaysSecondarySelect ( ) const
inlineoverridevirtual

Reimplemented from TGLLogicalShape.

Definition at line 139 of file TEveCaloLegoGL.h.

◆ BoundingBox()

const TGLBoundingBox & TGLLogicalShape::BoundingBox ( ) const
inlineinherited

Definition at line 86 of file TGLLogicalShape.h.

◆ Class()

TClass * TEveCaloLegoGL::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * TEveCaloLegoGL::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t TEveCaloLegoGL::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 142 of file TEveCaloLegoGL.h.

◆ DeclFileName()

const char * TEveCaloLegoGL::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 142 of file TEveCaloLegoGL.h.

◆ DestroyPhysicals()

void TGLLogicalShape::DestroyPhysicals ( )
inherited

Destroy all physicals attached to this logical.

Definition at line 205 of file TGLLogicalShape.cxx.

◆ DirectDraw()

void TEveCaloLegoGL::DirectDraw ( TGLRnrCtx & rnrCtx) const
overridevirtual

Draw the object.

Implements TGLLogicalShape.

Definition at line 1254 of file TEveCaloLegoGL.cxx.

◆ DLCacheClear()

void TGLLogicalShape::DLCacheClear ( )
virtualinherited

Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved ids from GL context.

Reimplemented in TEveJetConeGL.

Definition at line 302 of file TGLLogicalShape.cxx.

◆ DLCacheDrop()

void TEveCaloLegoGL::DLCacheDrop ( )
overridevirtual

Drop all display-list definitions.

Reimplemented from TGLLogicalShape.

Definition at line 101 of file TEveCaloLegoGL.cxx.

◆ DLCachePurge()

void TEveCaloLegoGL::DLCachePurge ( )
overridevirtual

Unregister all display-lists.

Reimplemented from TGLLogicalShape.

Definition at line 113 of file TEveCaloLegoGL.cxx.

◆ DLOffset()

virtual UInt_t TGLLogicalShape::DLOffset ( Short_t ) const
inlinevirtualinherited

Reimplemented in TGLCylinder, and TGLSphere.

Definition at line 93 of file TGLLogicalShape.h.

◆ Draw()

void TGLLogicalShape::Draw ( TGLRnrCtx & rnrCtx) const
virtualinherited

Draw the GL drawable, using draw flags.

If DL caching is enabled (see SetDLCache) then attempt to draw from the cache, if not found attempt to capture the draw - done by DirectDraw() - into a new cache entry. If not cached just call DirectDraw() for normal non DL cached drawing.

Reimplemented in TEveBoxGL, TEveBoxProjectedGL, TEveJetConeGL, TEveJetConeProjectedGL, TEvePolygonSetProjectedGL, TEveProjectionAxesGL, TEveStraightLineSetGL, and TPointSet3DGL.

Definition at line 373 of file TGLLogicalShape.cxx.

◆ DrawAxis2D()

void TEveCaloLegoGL::DrawAxis2D ( TGLRnrCtx & rnrCtx) const
private

Draw XY axis.

Definition at line 603 of file TEveCaloLegoGL.cxx.

◆ DrawAxis3D()

void TEveCaloLegoGL::DrawAxis3D ( TGLRnrCtx & rnrCtx) const
private

Draw z-axis and z-box at the appropriate grid corner-point including tick-marks and labels.

Definition at line 422 of file TEveCaloLegoGL.cxx.

◆ DrawCells2D()

void TEveCaloLegoGL::DrawCells2D ( TGLRnrCtx & rnrCtx,
vCell2D_t & cells2D ) const
private

Draw cells in top view.

Definition at line 935 of file TEveCaloLegoGL.cxx.

◆ DrawCells3D()

void TEveCaloLegoGL::DrawCells3D ( TGLRnrCtx & rnrCtx) const
private

Render the calo lego-plot with OpenGL.

Definition at line 811 of file TEveCaloLegoGL.cxx.

◆ DrawHighlight()

void TEveCaloLegoGL::DrawHighlight ( TGLRnrCtx & rnrCtx,
const TGLPhysicalShape * ps,
Int_t lvl = -1 ) const
overridevirtual

Draw highligted cells.

Reimplemented from TGLLogicalShape.

Definition at line 1089 of file TEveCaloLegoGL.cxx.

◆ DrawHistBase()

void TEveCaloLegoGL::DrawHistBase ( TGLRnrCtx & rnrCtx) const
private

Draw basic histogram components: x-y grid.

Definition at line 744 of file TEveCaloLegoGL.cxx.

◆ DrawSelectedCells()

void TEveCaloLegoGL::DrawSelectedCells ( TGLRnrCtx & rnrCtx,
TEveCaloData::vCellId_t cells ) const
private

Draw selected cells in highlight mode.

Definition at line 1137 of file TEveCaloLegoGL.cxx.

◆ DynCast()

template<class TT>
TT * TGLObject::DynCast ( TObject * obj)
inlineprotectedinherited

Definition at line 45 of file TGLObject.h.

◆ GetExternal()

TObject * TGLLogicalShape::GetExternal ( ) const
inlineinherited

Definition at line 83 of file TGLLogicalShape.h.

◆ GetFirstPhysical()

const TGLPhysicalShape * TGLLogicalShape::GetFirstPhysical ( ) const
inlineinherited

Definition at line 80 of file TGLLogicalShape.h.

◆ GetGLRenderer()

TClass * TGLObject::GetGLRenderer ( TClass * isa)
staticinherited

Return direct-rendering GL class for class isa.

Zero is a valid response.

Definition at line 134 of file TGLObject.cxx.

◆ GetGridStep()

Int_t TEveCaloLegoGL::GetGridStep ( TGLRnrCtx & rnrCtx) const
private

Calculate view-dependent grid density.

Definition at line 681 of file TEveCaloLegoGL.cxx.

◆ GetIgnoreSizeForCameraInterest()

Bool_t TGLLogicalShape::GetIgnoreSizeForCameraInterest ( )
staticinherited

Get state of static fgIgnoreSizeForCameraInterest flag.

When this is true all objects, also very small, will be drawn by GL.

Definition at line 480 of file TGLLogicalShape.cxx.

◆ GetScaleForMatrix()

void TEveCaloLegoGL::GetScaleForMatrix ( Float_t & sx,
Float_t & sy,
Float_t & sz ) const
private

Get scale for matrix.

Definition at line 580 of file TEveCaloLegoGL.cxx.

◆ GetScene()

TGLScene * TGLLogicalShape::GetScene ( ) const
inlineinherited

Definition at line 84 of file TGLLogicalShape.h.

◆ ID()

TObject * TGLLogicalShape::ID ( ) const
inlineinherited

Definition at line 82 of file TGLLogicalShape.h.

◆ IgnoreSizeForOfInterest()

Bool_t TGLLogicalShape::IgnoreSizeForOfInterest ( ) const
virtualinherited

Return true if size of this shape should be ignored when determining if the object should be drawn.

In this base-class we simply return state of static flag fgIgnoreSizeForCameraInterest.

Several sub-classes override this virtual function.

Reimplemented in TEveBoxGL, TEveBoxProjectedGL, TEvePolygonSetProjectedGL, TEveProjectionAxesGL, TEveQuadSetGL, TEveStraightLineSetGL, TGLPolyMarker, and TPointSet3DGL.

Definition at line 471 of file TGLLogicalShape.cxx.

◆ InvokeContextMenu()

void TGLLogicalShape::InvokeContextMenu ( TContextMenu & menu,
UInt_t x,
UInt_t y ) const
inherited

Invoke popup menu or our bound external TObject (if any), using passed 'menu' object, at location 'x' 'y'.

Definition at line 457 of file TGLLogicalShape.cxx.

◆ IsA()

TClass * TEveCaloLegoGL::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TGLLogicalShape.

Definition at line 142 of file TEveCaloLegoGL.h.

◆ KeepDuringSmartRefresh()

Bool_t TGLObject::KeepDuringSmartRefresh ( ) const
inlineoverridevirtualinherited

Reimplemented from TGLLogicalShape.

Reimplemented in TGLParametricEquationGL, and TGLPlot3D.

Definition at line 62 of file TGLObject.h.

◆ Make3DDisplayList()

void TEveCaloLegoGL::Make3DDisplayList ( TEveCaloData::vCellId_t & cellList,
SliceDLMap_t & dlMap,
Bool_t selection ) const
private

Create display-list that draws histogram bars for non-rebinned data.

It is used for filled and outline passes.

Definition at line 204 of file TEveCaloLegoGL.cxx.

◆ Make3DDisplayListRebin()

void TEveCaloLegoGL::Make3DDisplayListRebin ( TEveCaloData::RebinData_t & rebinData,
SliceDLMap_t & dlMap,
Bool_t selection ) const
private

Create display-list that draws histogram bars for rebinned data.

It is used for filled and outline passes.

Definition at line 246 of file TEveCaloLegoGL.cxx.

◆ MakeQuad()

void TEveCaloLegoGL::MakeQuad ( Float_t x1,
Float_t y1,
Float_t z1,
Float_t xw,
Float_t yw,
Float_t h ) const
private

Draw an axis-aligned box using quads.

z
|
|
|________y
/ 6-------7
/ /| /|
x 5-------4 |
| 2-----|-3
|/ |/
1-------0
Double_t x[n]
Definition legend1.C:17

Definition at line 143 of file TEveCaloLegoGL.cxx.

◆ operator=()

TEveCaloLegoGL & TEveCaloLegoGL::operator= ( const TEveCaloLegoGL & )
private

◆ PrepareCell2DData()

void TEveCaloLegoGL::PrepareCell2DData ( TEveCaloData::vCellId_t & cellList,
vCell2D_t & cells2D ) const
private

Prepare cells 2D data non-rebinned for drawing.

Definition at line 838 of file TEveCaloLegoGL.cxx.

◆ PrepareCell2DDataRebin()

void TEveCaloLegoGL::PrepareCell2DDataRebin ( TEveCaloData::RebinData_t & rebinData,
vCell2D_t & cells2D ) const
private

Prepare cells 2D rebinned data for drawing.

Definition at line 886 of file TEveCaloLegoGL.cxx.

◆ ProcessSelection()

void TEveCaloLegoGL::ProcessSelection ( TGLRnrCtx & rnrCtx,
TGLSelectRecord & rec )
overridevirtual

Processes tower selection from TGLViewer.

Reimplemented from TGLLogicalShape.

Definition at line 1406 of file TEveCaloLegoGL.cxx.

◆ PurgeDLRange()

void TGLLogicalShape::PurgeDLRange ( UInt_t base,
Int_t size ) const
protectedinherited

Purge given display-list range.

Utility function.

Definition at line 342 of file TGLLogicalShape.cxx.

◆ QuantizeShapeLOD()

Short_t TGLLogicalShape::QuantizeShapeLOD ( Short_t shapeLOD,
Short_t combiLOD ) const
virtualinherited

Logical shapes usually support only discreet LOD values, especially in view of display-list caching.

This function should be overriden to perform the desired quantization. See TGLSphere.

Reimplemented in TGLCylinder, and TGLSphere.

Definition at line 361 of file TGLLogicalShape.cxx.

◆ RebinAxis()

void TEveCaloLegoGL::RebinAxis ( TAxis * orig,
TAxis * curr ) const
private

Rebin eta, phi axis.

Definition at line 724 of file TEveCaloLegoGL.cxx.

◆ Ref()

UInt_t TGLLogicalShape::Ref ( ) const
inlineinherited

Definition at line 73 of file TGLLogicalShape.h.

◆ SearchGLRenderer()

TClass * TGLObject::SearchGLRenderer ( TClass * cls)
staticprivateinherited

Recursively search cls and its base classes for a GL-renderer class.

Definition at line 107 of file TGLObject.cxx.

◆ SetAxis3DTitlePos()

void TEveCaloLegoGL::SetAxis3DTitlePos ( TGLRnrCtx & rnrCtx,
Float_t x0,
Float_t x1,
Float_t y0,
Float_t y1 ) const
private

Set the axis 3D title position.

Definition at line 291 of file TEveCaloLegoGL.cxx.

◆ SetAxisAlignedBBox() [1/2]

void TGLObject::SetAxisAlignedBBox ( const Float_t * p)
protectedinherited

Set axis-aligned bounding-box.

Protected helper for subclasses.

Definition at line 97 of file TGLObject.cxx.

◆ SetAxisAlignedBBox() [2/2]

void TGLObject::SetAxisAlignedBBox ( Float_t xmin,
Float_t xmax,
Float_t ymin,
Float_t ymax,
Float_t zmin,
Float_t zmax )
protectedinherited

Set axis-aligned bounding-box.

Protected helper for subclasses.

Definition at line 85 of file TGLObject.cxx.

◆ SetBBox()

void TEveCaloLegoGL::SetBBox ( )
overridevirtual

Set bounding box.

Implements TGLObject.

Definition at line 93 of file TEveCaloLegoGL.cxx.

◆ SetDLCache()

Bool_t TGLLogicalShape::SetDLCache ( Bool_t cache)
inherited

Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw.

Return kTRUE is state changed, kFALSE if not.

Definition at line 264 of file TGLLogicalShape.cxx.

◆ SetEnvDefaults()

void TGLLogicalShape::SetEnvDefaults ( )
staticinherited

Definition at line 496 of file TGLLogicalShape.cxx.

◆ SetIgnoreSizeForCameraInterest()

void TGLLogicalShape::SetIgnoreSizeForCameraInterest ( Bool_t isfci)
staticinherited

Set state of static fgIgnoreSizeForCameraInterest flag.

Definition at line 488 of file TGLLogicalShape.cxx.

◆ SetModel()

Bool_t TEveCaloLegoGL::SetModel ( TObject * obj,
const Option_t * opt = nullptr )
overridevirtual

Set model object.

Implements TGLObject.

Definition at line 84 of file TEveCaloLegoGL.cxx.

◆ SetModelCheckClass()

Bool_t TGLObject::SetModelCheckClass ( TObject * obj,
TClass * cls )
protectedinherited

Checks if obj is of proper class and sets the model.

Protected helper for subclasses. Most sub-classes use exception-throwing SetModelDynCast() instead.

Definition at line 70 of file TGLObject.cxx.

◆ SetModelDynCast()

template<class TT>
TT * TGLObject::SetModelDynCast ( TObject * obj)
inlineprotectedinherited

Definition at line 37 of file TGLObject.h.

◆ ShouldDLCache()

Bool_t TGLObject::ShouldDLCache ( const TGLRnrCtx & rnrCtx) const
overridevirtualinherited

Decide if display-list should be used for this pass rendering, as determined by rnrCtx.

Reimplemented from TGLLogicalShape.

Reimplemented in TPointSet3DGL.

Definition at line 40 of file TGLObject.cxx.

◆ Streamer()

void TEveCaloLegoGL::Streamer ( TBuffer & )
overridevirtual

Reimplemented from TGLLogicalShape.

◆ StreamerNVirtual()

void TEveCaloLegoGL::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 142 of file TEveCaloLegoGL.h.

◆ StrongRef()

void TGLLogicalShape::StrongRef ( Bool_t strong) const
inlineinherited

Definition at line 76 of file TGLLogicalShape.h.

◆ SubRef()

void TGLLogicalShape::SubRef ( TGLPhysicalShape * phys) const
inherited

Remove reference to given physical shape, potentially deleting this object when hitting zero ref-count (if fRefStrong is true).

Definition at line 174 of file TGLLogicalShape.cxx.

◆ SupportedLODAxes()

virtual ELODAxes TGLLogicalShape::SupportedLODAxes ( ) const
inlinevirtualinherited

Reimplemented in TGLCylinder, and TGLSphere.

Definition at line 98 of file TGLLogicalShape.h.

◆ SupportsSecondarySelect()

Bool_t TEveCaloLegoGL::SupportsSecondarySelect ( ) const
inlineoverridevirtual

Reimplemented from TGLLogicalShape.

Definition at line 138 of file TEveCaloLegoGL.h.

◆ UnrefFirstPhysical()

UInt_t TGLLogicalShape::UnrefFirstPhysical ( )
inherited

Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else.

Returns 0 if there are no replicas attached.

Definition at line 225 of file TGLLogicalShape.cxx.

◆ UpdateBoundingBox()

void TGLObject::UpdateBoundingBox ( )
overridevirtualinherited

Update bounding box from external source.

We call abstract SetBBox() and propagate the change to all attached physicals.

Reimplemented from TGLLogicalShape.

Definition at line 59 of file TGLObject.cxx.

◆ UpdateBoundingBoxesOfPhysicals()

void TGLLogicalShape::UpdateBoundingBoxesOfPhysicals ( )
inherited

Update bounding-boxed of all dependent physicals.

Definition at line 245 of file TGLLogicalShape.cxx.

◆ WrapTwoPi()

void TEveCaloLegoGL::WrapTwoPi ( Float_t & min,
Float_t & max ) const
inlineprivate

Definition at line 146 of file TEveCaloLegoGL.h.

◆ TEveCaloLegoOverlay

friend class TEveCaloLegoOverlay
friend

Definition at line 29 of file TEveCaloLegoGL.h.

Member Data Documentation

◆ fAxisPainter

TGLAxisPainter TEveCaloLegoGL::fAxisPainter
mutableprivate

Definition at line 78 of file TEveCaloLegoGL.h.

◆ fBackPlaneXConst

TEveVector TEveCaloLegoGL::fBackPlaneXConst[2]
mutableprivate

Definition at line 75 of file TEveCaloLegoGL.h.

◆ fBackPlaneYConst

TEveVector TEveCaloLegoGL::fBackPlaneYConst[2]
mutableprivate

Definition at line 76 of file TEveCaloLegoGL.h.

◆ fBinStep

Int_t TEveCaloLegoGL::fBinStep
mutableprivate

Definition at line 93 of file TEveCaloLegoGL.h.

◆ fBoundingBox

TGLBoundingBox TGLLogicalShape::fBoundingBox
protectedinherited

! Shape's bounding box.

Definition at line 50 of file TGLLogicalShape.h.

◆ fCells2D

vCell2D_t TEveCaloLegoGL::fCells2D
mutableprivate

Definition at line 83 of file TEveCaloLegoGL.h.

◆ fCells3D

Bool_t TEveCaloLegoGL::fCells3D
mutableprivate

Definition at line 91 of file TEveCaloLegoGL.h.

◆ fCurrentPixelsPerBin

Int_t TEveCaloLegoGL::fCurrentPixelsPerBin
mutableprivate

Definition at line 88 of file TEveCaloLegoGL.h.

◆ fDLBase

UInt_t TGLLogicalShape::fDLBase
mutableprotectedinherited

! display-list id base

Definition at line 52 of file TGLLogicalShape.h.

◆ fDLCache

Bool_t TGLLogicalShape::fDLCache
mutableprotectedinherited

! use display list caching

Definition at line 55 of file TGLLogicalShape.h.

◆ fDLCacheOK

Bool_t TEveCaloLegoGL::fDLCacheOK
mutableprivate

Definition at line 82 of file TEveCaloLegoGL.h.

◆ fDLMap

SliceDLMap_t TEveCaloLegoGL::fDLMap
mutableprivate

Definition at line 90 of file TEveCaloLegoGL.h.

◆ fDLSize

Int_t TGLLogicalShape::fDLSize
mutableprotectedinherited

! display-list size for different LODs

Definition at line 53 of file TGLLogicalShape.h.

◆ fDLValid

UShort_t TGLLogicalShape::fDLValid
mutableprotectedinherited

! display-list validity bit-field

Definition at line 54 of file TGLLogicalShape.h.

◆ fEtaAxis

TAxis* TEveCaloLegoGL::fEtaAxis
mutableprivate

Definition at line 69 of file TEveCaloLegoGL.h.

◆ fExternalObj

TObject* TGLLogicalShape::fExternalObj
protectedinherited

! Also plays the role of ID.

Definition at line 49 of file TGLLogicalShape.h.

◆ fFirstPhysical

TGLPhysicalShape* TGLLogicalShape::fFirstPhysical
mutableprotectedinherited

! first replica

Definition at line 47 of file TGLLogicalShape.h.

◆ fFontColor

Color_t TEveCaloLegoGL::fFontColor
mutableprivate

Definition at line 67 of file TEveCaloLegoGL.h.

◆ fgGLClassMap

TMap TGLObject::fgGLClassMap
staticprivateinherited

Definition at line 24 of file TGLObject.h.

◆ fgIgnoreSizeForCameraInterest

Bool_t TGLLogicalShape::fgIgnoreSizeForCameraInterest = kFALSE
staticprotectedinherited

Definition at line 61 of file TGLLogicalShape.h.

◆ fGridColor

Color_t TEveCaloLegoGL::fGridColor
mutableprivate

Definition at line 66 of file TEveCaloLegoGL.h.

◆ fgUseDLs

Bool_t TGLLogicalShape::fgUseDLs = kTRUE
staticprotectedinherited

! global flag for usage of display-lists

Definition at line 63 of file TGLLogicalShape.h.

◆ fgUseDLsForVertArrs

Bool_t TGLLogicalShape::fgUseDLsForVertArrs = kTRUE
staticprotectedinherited

! global flag for usage of display-lists in shapes that use vertex arrays

Definition at line 64 of file TGLLogicalShape.h.

◆ fM

TEveCaloLego* TEveCaloLegoGL::fM
private

Definition at line 81 of file TEveCaloLegoGL.h.

◆ fMaxVal

Float_t TEveCaloLegoGL::fMaxVal
mutableprivate

Definition at line 86 of file TEveCaloLegoGL.h.

◆ fMultiColor

Bool_t TGLObject::fMultiColor
mutableprotectedinherited

Definition at line 28 of file TGLObject.h.

◆ fOwnExtObj

Bool_t TGLLogicalShape::fOwnExtObj
mutableprotectedinherited

! External object is a fake

Definition at line 57 of file TGLLogicalShape.h.

◆ fPhiAxis

TAxis* TEveCaloLegoGL::fPhiAxis
mutableprivate

Definition at line 70 of file TEveCaloLegoGL.h.

◆ fRebinData

TEveCaloData::RebinData_t TEveCaloLegoGL::fRebinData
mutableprivate

Definition at line 85 of file TEveCaloLegoGL.h.

◆ fRef

UInt_t TGLLogicalShape::fRef
mutableprotectedinherited

! physical instance ref counting

Definition at line 46 of file TGLLogicalShape.h.

◆ fRefStrong

Bool_t TGLLogicalShape::fRefStrong
mutableprotectedinherited

! Strong ref (delete on 0 ref); not in scene

Definition at line 56 of file TGLLogicalShape.h.

◆ fScene

TGLScene* TGLLogicalShape::fScene
mutableprotectedinherited

! scene where object is stored (can be zero!)

Definition at line 51 of file TGLLogicalShape.h.

◆ fValToPixel

Float_t TEveCaloLegoGL::fValToPixel
mutableprivate

Definition at line 87 of file TEveCaloLegoGL.h.

◆ fXAxisTitlePos

TEveVector TEveCaloLegoGL::fXAxisTitlePos
mutableprivate

Definition at line 72 of file TEveCaloLegoGL.h.

◆ fYAxisTitlePos

TEveVector TEveCaloLegoGL::fYAxisTitlePos
mutableprivate

Definition at line 73 of file TEveCaloLegoGL.h.

◆ fZAxis

TAxis* TEveCaloLegoGL::fZAxis
mutableprivate

Definition at line 71 of file TEveCaloLegoGL.h.

◆ fZAxisTitlePos

TEveVector TEveCaloLegoGL::fZAxisTitlePos
mutableprivate

Definition at line 74 of file TEveCaloLegoGL.h.


The documentation for this class was generated from the following files: