class TEveCaloLegoGL: public TGLObject

 OpenGL renderer class for TEveCaloLego.

Function Members (Methods)

public:
TEveCaloLegoGL()
virtual~TEveCaloLegoGL()
voidTGLLogicalShape::AddRef(TGLPhysicalShape* phys) const
const TGLBoundingBox&TGLLogicalShape::BoundingBox() const
static TClass*Class()
voidTGLLogicalShape::DestroyPhysicals()
virtual voidDirectDraw(TGLRnrCtx& rnrCtx) const
virtual voidTGLLogicalShape::DLCacheClear()
virtual voidDLCacheDrop()
virtual voidDLCachePurge()
virtual Int_tTGLLogicalShape::DLCacheSize() const
virtual UInt_tTGLLogicalShape::DLOffset(Short_t) const
virtual voidTGLLogicalShape::Draw(TGLRnrCtx& rnrCtx) const
TObject*TGLLogicalShape::GetExternal() const
const TGLPhysicalShape*TGLLogicalShape::GetFirstPhysical() const
static TClass*TGLObject::GetGLRenderer(TClass* isa)
TGLScene*TGLLogicalShape::GetScene() const
TObject*TGLLogicalShape::ID() const
virtual Bool_tTGLLogicalShape::IgnoreSizeForOfInterest() const
voidTGLLogicalShape::InvokeContextMenu(TContextMenu& menu, UInt_t x, UInt_t y) const
virtual TClass*IsA() const
virtual Bool_tTGLObject::KeepDuringSmartRefresh() const
virtual voidProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec)
virtual Short_tTGLLogicalShape::QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const
UInt_tTGLLogicalShape::Ref() const
virtual voidSetBBox()
Bool_tTGLLogicalShape::SetDLCache(Bool_t cached)
virtual Bool_tSetModel(TObject* obj, Option_t* opt = 0)
voidSetTowerPicked(Int_t t)
virtual Bool_tTGLObject::ShouldDLCache(const TGLRnrCtx& rnrCtx) const
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidTGLLogicalShape::StrongRef(Bool_t strong) const
voidTGLLogicalShape::SubRef(TGLPhysicalShape* phys) const
virtual TGLLogicalShape::ELODAxesTGLLogicalShape::SupportedLODAxes() const
virtual Bool_tSupportsSecondarySelect() const
UInt_tTGLLogicalShape::UnrefFirstPhysical()
virtual voidTGLObject::UpdateBoundingBox()
voidTGLLogicalShape::UpdateBoundingBoxesOfPhysicals()
protected:
voidDrawCells2D(TGLRnrCtx& rnrCtx) const
voidDrawCells3D(TGLRnrCtx& rnrCtx) const
voidDrawHistBase(TGLRnrCtx& rnrCtx) const
voidDrawXYScales(TGLRnrCtx& rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const
voidDrawZAxis(TGLRnrCtx& rnrCtx, Float_t azX, Float_t azY) const
voidDrawZScales3D(TGLRnrCtx& rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const
Int_tGetGridStep(Int_t axId, TGLRnrCtx& rnrCtx) const
voidMakeDisplayList() const
voidMakeQuad(Float_t x, Float_t y, Float_t z, Float_t xw, Float_t yw, Float_t zh) const
voidTGLObject::SetAxisAlignedBBox(const Float_t* p)
voidTGLObject::SetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
Bool_tTGLObject::SetModelCheckClass(TObject* obj, TClass* cls)
private:
TEveCaloLegoGL(const TEveCaloLegoGL&)
TEveCaloLegoGL&operator=(const TEveCaloLegoGL&)

Data Members

public:
enum TGLLogicalShape::ELODAxes { kLODAxesNone
kLODAxesX
kLODAxesY
kLODAxesZ
kLODAxesAll
};
protected:
Int_t*fBinSteps
TGLBoundingBoxTGLLogicalShape::fBoundingBox! Shape's bounding box.
UInt_tTGLLogicalShape::fDLBase! display-list id base
Bool_tTGLLogicalShape::fDLCache! use display list caching
Bool_tfDLCacheOK
map<int,unsigned int,less<int>,allocator<pair<const int,unsigned int> > >fDLMap
UShort_tTGLLogicalShape::fDLValid! display-list validity bit-field
TObject*TGLLogicalShape::fExternalObj! Also plays the role of ID.
TGLPhysicalShape*TGLLogicalShape::fFirstPhysical! first replica
TEveCaloLego*fMModel object.
Bool_tTGLObject::fMultiColorAre multiple colors used for object rendering.
Int_tfNBinSteps
Bool_tTGLLogicalShape::fOwnExtObj! External object is a fake
UInt_tTGLLogicalShape::fRef! physical instance ref counting
Bool_tTGLLogicalShape::fRefStrong! Strong ref (delete on 0 ref); not in scene
TGLScene*TGLLogicalShape::fScene! scene where object is stored (can be zero!)
Int_tfTowerPicked
private:
TGLAxisPainterfAxisPainter
Float_tfDataMax
TAxis*fEtaAxis
TAxis*fPhiAxis
TGLAxisAttribfXAxisAtt
TGLAxisAttribfYAxisAtt
TGLAxisAttribfZAxisAtt
Double_tfZAxisStep

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEveCaloLegoGL(const TEveCaloLegoGL& )
 Constructor.
~TEveCaloLegoGL()
 Destructor.
Bool_t SetModel(TObject* obj, Option_t* opt = 0)
 Set model object.
void SetBBox()
 Set bounding box.
void DLCacheDrop()
 Drop all display-list definitions.
void DLCachePurge()
 Unregister all display-lists.
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.
void MakeDisplayList()
 Create display-list that draws histogram bars.
 It is used for filled and outline passes.
void DrawZAxis(TGLRnrCtx& rnrCtx, Float_t azX, Float_t azY) const
 Draw Z axis at given xy position;
void DrawZScales3D(TGLRnrCtx& rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const
 Draw z-axis at the appropriate grid corner-point including
 tick-marks and labels.
void DrawXYScales(TGLRnrCtx& rnrCtx, Float_t x0, Float_t x1, Float_t y0, Float_t y1) const
 Draw XY title, labels.
Int_t GetGridStep(Int_t axId, TGLRnrCtx& rnrCtx) const
 Calculate view-dependent grid density.
void DrawHistBase(TGLRnrCtx& rnrCtx) const
 Draw basic histogram components: x-y grid
void DrawCells3D(TGLRnrCtx& rnrCtx) const
 Render the calo lego-plot with OpenGL.
void DrawCells2D(TGLRnrCtx& rnrCtx) const
 Draw projected histogram.
void DirectDraw(TGLRnrCtx& rnrCtx) const
 Draw the object.
void ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec)
 Processes secondary selection from TGLViewer.
TEveCaloLegoGL(const TEveCaloLegoGL& )
TEveCaloLegoGL& operator=(const TEveCaloLegoGL& )
void SetTowerPicked(Int_t t)
{ fTowerPicked=t; }
Bool_t SupportsSecondarySelect()
{ return kTRUE; }

Author: Matevz Tadel 2007
Last change: root/eve:$Id: TEveCaloLegoGL.h 24445 2008-06-20 18:55:43Z matevz $
Last generated: 2008-06-25 08:36
Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.