ROOT  6.06/09
Reference Guide
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
TEveProjectionAxesGL Class Reference

OpenGL renderer class for TEveProjectionAxes.

Definition at line 21 of file TEveProjectionAxesGL.h.

Public Member Functions

 TEveProjectionAxesGL ()
 Constructor. More...
 
virtual ~TEveProjectionAxesGL ()
 
virtual Bool_t SetModel (TObject *obj, const Option_t *opt=0)
 Set model object. More...
 
virtual void SetBBox ()
 Fill the bounding-box data of the logical-shape. More...
 
virtual void Draw (TGLRnrCtx &rnrCtx) const
 Draw function for TEveProjectionAxesGL. Skips line-pass of outline mode. More...
 
virtual void DirectDraw (TGLRnrCtx &rnrCtx) const
 Actual rendering code. More...
 
Bool_t IgnoreSizeForOfInterest () const
 Return true if size of this shape should be ignored when determining if the object should be drawn. More...
 
 ClassDef (TEveProjectionAxesGL, 0)
 
- Public Member Functions inherited from TGLObject
 TGLObject ()
 
virtual ~TGLObject ()
 
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 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 TGLPhysicalShapeGetFirstPhysical () const
 
TObjectID () const
 
TObjectGetExternal () const
 
TGLSceneGetScene () const
 
const TGLBoundingBoxBoundingBox () 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 DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const
 Draw the logical shape in highlight mode. More...
 
virtual Bool_t SupportsSecondarySelect () const
 
virtual Bool_t AlwaysSecondarySelect () const
 
virtual void ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
 Virtual method called-back after a secondary selection hit is recorded (see TGLViewer::HandleButton(), Ctrl-Button1). 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

TEveProjectionAxesfM
 
TEveProjectionfProjection
 
TGLAxisPainter fAxisPainter
 
- Protected Attributes inherited from TGLObject
Bool_t fMultiColor
 
- Protected Attributes inherited from TGLLogicalShape
UInt_t fRef
 
TGLPhysicalShapefFirstPhysical
 physical instance ref counting More...
 
TObjectfExternalObj
 first replica More...
 
TGLBoundingBox fBoundingBox
 Also plays the role of ID. More...
 
TGLScenefScene
 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

 TEveProjectionAxesGL (const TEveProjectionAxesGL &)
 
TEveProjectionAxesGLoperator= (const TEveProjectionAxesGL &)
 
void GetRange (Int_t ax, Float_t frustMin, Float_t frustMax, Float_t &start, Float_t &en) const
 Get range from bounding box of projection manager and frustum size. More...
 
void SplitInterval (Float_t x1, Float_t x2, Int_t axis) const
 Build an array of tick-mark position-value pairs. More...
 
void SplitIntervalByPos (Float_t min, Float_t max, Int_t axis) const
 Add tick-marks at equidistant position. More...
 
void SplitIntervalByVal (Float_t min, Float_t max, Int_t axis) const
 Add tick-marks on fixed value step. More...
 
void FilterOverlappingLabels (Int_t idx, Float_t ref) const
 Filter overlapping labels. More...
 

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 TClassGetGLRenderer (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 <TEveProjectionAxesGL.h>

+ Inheritance diagram for TEveProjectionAxesGL:
+ Collaboration diagram for TEveProjectionAxesGL:

Constructor & Destructor Documentation

TEveProjectionAxesGL::TEveProjectionAxesGL ( const TEveProjectionAxesGL )
private
TEveProjectionAxesGL::TEveProjectionAxesGL ( )

Constructor.

Definition at line 34 of file TEveProjectionAxesGL.cxx.

virtual TEveProjectionAxesGL::~TEveProjectionAxesGL ( )
inlinevirtual

Definition at line 39 of file TEveProjectionAxesGL.h.

Member Function Documentation

TEveProjectionAxesGL::ClassDef ( TEveProjectionAxesGL  ,
 
)
void TEveProjectionAxesGL::DirectDraw ( TGLRnrCtx rnrCtx) const
virtual

Actual rendering code.

Virtual from TGLLogicalShape.

Implements TGLLogicalShape.

Definition at line 318 of file TEveProjectionAxesGL.cxx.

void TEveProjectionAxesGL::Draw ( TGLRnrCtx rnrCtx) const
virtual

Draw function for TEveProjectionAxesGL. Skips line-pass of outline mode.

Reimplemented from TGLLogicalShape.

Definition at line 306 of file TEveProjectionAxesGL.cxx.

void TEveProjectionAxesGL::FilterOverlappingLabels ( Int_t  idx,
Float_t  ref 
) const
private

Filter overlapping labels.

Definition at line 65 of file TEveProjectionAxesGL.cxx.

Referenced by DirectDraw().

void TEveProjectionAxesGL::GetRange ( Int_t  ax,
Float_t  frustMin,
Float_t  frustMax,
Float_t start,
Float_t en 
) const
private

Get range from bounding box of projection manager and frustum size.

Definition at line 273 of file TEveProjectionAxesGL.cxx.

Referenced by DirectDraw().

Bool_t TEveProjectionAxesGL::IgnoreSizeForOfInterest ( ) const
inlinevirtual

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 from TGLLogicalShape.

Definition at line 46 of file TEveProjectionAxesGL.h.

TEveProjectionAxesGL& TEveProjectionAxesGL::operator= ( const TEveProjectionAxesGL )
private
void TEveProjectionAxesGL::SetBBox ( )
virtual

Fill the bounding-box data of the logical-shape.

Virtual from TGLObject.

Implements TGLObject.

Definition at line 57 of file TEveProjectionAxesGL.cxx.

Bool_t TEveProjectionAxesGL::SetModel ( TObject obj,
const Option_t opt = 0 
)
virtual

Set model object.

Virtual from TGLObject.

Implements TGLObject.

Definition at line 46 of file TEveProjectionAxesGL.cxx.

void TEveProjectionAxesGL::SplitInterval ( Float_t  x1,
Float_t  x2,
Int_t  axis 
) const
private

Build an array of tick-mark position-value pairs.

Definition at line 143 of file TEveProjectionAxesGL.cxx.

Referenced by DirectDraw().

void TEveProjectionAxesGL::SplitIntervalByPos ( Float_t  min,
Float_t  max,
Int_t  axis 
) const
private

Add tick-marks at equidistant position.

Definition at line 167 of file TEveProjectionAxesGL.cxx.

Referenced by SplitInterval().

void TEveProjectionAxesGL::SplitIntervalByVal ( Float_t  min,
Float_t  max,
Int_t  axis 
) const
private

Add tick-marks on fixed value step.

Definition at line 215 of file TEveProjectionAxesGL.cxx.

Referenced by SplitInterval().

Member Data Documentation

TGLAxisPainter TEveProjectionAxesGL::fAxisPainter
mutableprotected
TEveProjectionAxes* TEveProjectionAxesGL::fM
protected
TEveProjection* TEveProjectionAxesGL::fProjection
mutableprotected

Definition at line 34 of file TEveProjectionAxesGL.h.

Referenced by DirectDraw(), SplitIntervalByPos(), and SplitIntervalByVal().


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