OpenGL renderer class for TEveProjectionAxes.
Definition at line 21 of file TEveProjectionAxesGL.h.
Public Member Functions | |
| TEveProjectionAxesGL () | |
| Constructor. | |
| ~TEveProjectionAxesGL () override | |
| ClassDefOverride (TEveProjectionAxesGL, 0) | |
| void | DirectDraw (TGLRnrCtx &rnrCtx) const override |
| Actual rendering code. | |
| void | Draw (TGLRnrCtx &rnrCtx) const override |
| Draw function for TEveProjectionAxesGL. Skips line-pass of outline mode. | |
| Bool_t | IgnoreSizeForOfInterest () const override |
| Return true if size of this shape should be ignored when determining if the object should be drawn. | |
| void | SetBBox () override |
| Fill the bounding-box data of the logical-shape. | |
| Bool_t | SetModel (TObject *obj, const Option_t *opt=nullptr) override |
| Set model object. | |
Public Member Functions inherited from TGLObject | |
| TGLObject () | |
| ~TGLObject () override | |
| TClass * | IsA () const override |
| Bool_t | KeepDuringSmartRefresh () const override |
| 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 | UpdateBoundingBox () override |
| Update bounding box from external source. | |
Public Member Functions inherited from TGLLogicalShape | |
| TGLLogicalShape () | |
| global flag for usage of display-lists in shapes that use vertex arrays | |
| TGLLogicalShape (const TBuffer3D &buffer) | |
| Constructor from TBuffer3D. | |
| TGLLogicalShape (TObject *obj) | |
| Constructor with external object. | |
| virtual | ~TGLLogicalShape () |
| Destroy logical shape. | |
| void | AddRef (TGLPhysicalShape *phys) const |
| Add reference to given physical shape. | |
| virtual Bool_t | AlwaysSecondarySelect () const |
| const TGLBoundingBox & | BoundingBox () const |
| void | DestroyPhysicals () |
| Destroy all physicals attached to this logical. | |
| 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. | |
| 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. | |
| virtual void | DLCachePurge () |
| Purge all entries for all LODs for this drawable from the display list cache, returning the reserved ids to GL context. | |
| virtual UInt_t | DLOffset (Short_t) const |
| virtual void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const |
| Draw the logical shape in highlight mode. | |
| TObject * | GetExternal () const |
| const TGLPhysicalShape * | GetFirstPhysical () const |
| TGLScene * | GetScene () const |
| TObject * | ID () const |
| 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'. | |
| virtual void | ProcessSelection (TGLRnrCtx &rnrCtx, TGLSelectRecord &rec) |
| Virtual method called-back after a secondary selection hit is recorded (see TGLViewer::HandleButton(), Ctrl-Button1). | |
| 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 |
| Bool_t | SetDLCache (Bool_t cached) |
| Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw. | |
| 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 |
| virtual Bool_t | SupportsSecondarySelect () const |
| UInt_t | UnrefFirstPhysical () |
| Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else. | |
| void | UpdateBoundingBoxesOfPhysicals () |
| Update bounding-boxed of all dependent physicals. | |
Protected Attributes | |
| TGLAxisPainter | fAxisPainter |
| TEveProjectionAxes * | fM |
| TEveProjection * | fProjection |
Protected Attributes inherited from TGLObject | |
| Bool_t | fMultiColor |
Protected Attributes inherited from TGLLogicalShape | |
| TGLBoundingBox | fBoundingBox |
| Also plays the role of ID. | |
| UInt_t | fDLBase |
| scene where object is stored (can be zero!) | |
| Bool_t | fDLCache |
| display-list validity bit-field | |
| Int_t | fDLSize |
| display-list id base | |
| UShort_t | fDLValid |
| display-list size for different LODs | |
| TObject * | fExternalObj |
| first replica | |
| TGLPhysicalShape * | fFirstPhysical |
| physical instance ref counting | |
| Bool_t | fOwnExtObj |
| Strong ref (delete on 0 ref); not in scene. | |
| UInt_t | fRef |
| Bool_t | fRefStrong |
| use display list caching | |
| TGLScene * | fScene |
| Shape's bounding box. | |
Private Member Functions | |
| TEveProjectionAxesGL (const TEveProjectionAxesGL &) | |
| void | FilterOverlappingLabels (Int_t idx, Float_t ref) const |
| Filter overlapping labels. | |
| 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. | |
| TEveProjectionAxesGL & | operator= (const TEveProjectionAxesGL &) |
| void | SplitInterval (Float_t x1, Float_t x2, Int_t axis) const |
| Build an array of tick-mark position-value pairs. | |
| void | SplitIntervalByPos (Float_t min, Float_t max, Int_t axis) const |
| Add tick-marks at equidistant position. | |
| void | SplitIntervalByVal (Float_t min, Float_t max, Int_t axis) const |
| Add tick-marks on fixed value step. | |
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 * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static TClass * | GetGLRenderer (TClass *isa) |
| Return direct-rendering GL class for class isa. | |
Static Public Member Functions inherited from TGLLogicalShape | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| 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 inherited from TGLObject | |
| template<class TT > | |
| TT * | DynCast (TObject *obj) |
| 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 Member Functions inherited from TGLLogicalShape | |
| void | PurgeDLRange (UInt_t base, Int_t size) const |
| External object is a fake. | |
Static Protected Attributes inherited from TGLLogicalShape | |
| static Bool_t | fgIgnoreSizeForCameraInterest = kFALSE |
| static Bool_t | fgUseDLs = kTRUE |
| static Bool_t | fgUseDLsForVertArrs = kTRUE |
| global flag for usage of display-lists | |
#include <TEveProjectionAxesGL.h>
|
private |
| TEveProjectionAxesGL::TEveProjectionAxesGL | ( | ) |
Constructor.
Definition at line 34 of file TEveProjectionAxesGL.cxx.
|
inlineoverride |
Definition at line 39 of file TEveProjectionAxesGL.h.
| TEveProjectionAxesGL::ClassDefOverride | ( | TEveProjectionAxesGL | , |
| 0 | ) |
|
overridevirtual |
Actual rendering code.
Virtual from TGLLogicalShape.
Implements TGLLogicalShape.
Definition at line 318 of file TEveProjectionAxesGL.cxx.
|
overridevirtual |
Draw function for TEveProjectionAxesGL. Skips line-pass of outline mode.
Reimplemented from TGLLogicalShape.
Definition at line 306 of file TEveProjectionAxesGL.cxx.
Filter overlapping labels.
Definition at line 65 of file TEveProjectionAxesGL.cxx.
|
private |
Get range from bounding box of projection manager and frustum size.
Definition at line 273 of file TEveProjectionAxesGL.cxx.
|
inlineoverridevirtual |
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.
|
private |
|
overridevirtual |
Fill the bounding-box data of the logical-shape.
Virtual from TGLObject.
Implements TGLObject.
Definition at line 57 of file TEveProjectionAxesGL.cxx.
|
overridevirtual |
Set model object.
Virtual from TGLObject.
Implements TGLObject.
Definition at line 46 of file TEveProjectionAxesGL.cxx.
Build an array of tick-mark position-value pairs.
Definition at line 143 of file TEveProjectionAxesGL.cxx.
|
private |
Add tick-marks at equidistant position.
Definition at line 167 of file TEveProjectionAxesGL.cxx.
|
private |
Add tick-marks on fixed value step.
Definition at line 215 of file TEveProjectionAxesGL.cxx.
|
mutableprotected |
Definition at line 35 of file TEveProjectionAxesGL.h.
|
protected |
Definition at line 33 of file TEveProjectionAxesGL.h.
|
mutableprotected |
Definition at line 34 of file TEveProjectionAxesGL.h.