Logo ROOT  
Reference Guide
TEveProjectionAxesGL.h
Go to the documentation of this file.
1// @(#)root/eve:$Id$
2// Author: Alja Mrak-Tadel 2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TEveProjectionAxesGL
13#define ROOT_TEveProjectionAxesGL
14
15#include "TGLObject.h"
16#include "TGLAxisPainter.h"
17
19class TEveProjection;
20
22{
23private:
24 TEveProjectionAxesGL(const TEveProjectionAxesGL&); // Not implemented
26
27 void GetRange(Int_t ax, Float_t frustMin, Float_t frustMax, Float_t& start, Float_t& en) const;
28 void SplitInterval(Float_t x1, Float_t x2, Int_t axis) const;
29 void SplitIntervalByPos(Float_t min, Float_t max, Int_t axis)const;
30 void SplitIntervalByVal(Float_t min, Float_t max, Int_t axis)const;
31 void FilterOverlappingLabels(Int_t idx, Float_t ref) const;
32protected:
33 TEveProjectionAxes *fM; // Model object.
34 mutable TEveProjection *fProjection; // Cached model projection
36
37public:
40
41 virtual Bool_t SetModel(TObject* obj, const Option_t* opt = 0);
42 virtual void SetBBox();
43 virtual void Draw(TGLRnrCtx& rnrCtx) const;
44 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
45
47
48 ClassDef(TEveProjectionAxesGL, 0); // GL renderer class for TEveProjectionAxes.
49};
50
51#endif
static const double x2[5]
static const double x1[5]
bool Bool_t
Definition: RtypesCore.h:61
float Float_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:89
const char Option_t
Definition: RtypesCore.h:64
#define ClassDef(name, id)
Definition: Rtypes.h:322
OpenGL renderer class for TEveProjectionAxes.
TEveProjectionAxesGL()
Constructor.
void SplitIntervalByVal(Float_t min, Float_t max, Int_t axis) const
Add tick-marks on fixed value step.
void SplitIntervalByPos(Float_t min, Float_t max, Int_t axis) const
Add tick-marks at equidistant position.
virtual Bool_t SetModel(TObject *obj, const Option_t *opt=0)
Set model object.
TEveProjection * fProjection
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
Actual rendering code.
void FilterOverlappingLabels(Int_t idx, Float_t ref) const
Filter overlapping labels.
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw function for TEveProjectionAxesGL. Skips line-pass of outline mode.
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.
TEveProjectionAxes * fM
TEveProjectionAxesGL(const TEveProjectionAxesGL &)
Bool_t IgnoreSizeForOfInterest() const
Return true if size of this shape should be ignored when determining if the object should be drawn.
virtual void SetBBox()
Fill the bounding-box data of the logical-shape.
void SplitInterval(Float_t x1, Float_t x2, Int_t axis) const
Build an array of tick-mark position-value pairs.
TEveProjectionAxesGL & operator=(const TEveProjectionAxesGL &)
Axes for non-linear projections.
Base-class for non-linear projections.
Base-class for direct OpenGL renderers.
Definition: TGLObject.h:22
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Definition: TGLRnrCtx.h:41
Mother of all ROOT objects.
Definition: TObject.h:37