ROOT 6.16/01 Reference Guide |
OpenGL renderer class for TEveBox.
Definition at line 27 of file TEveBoxGL.h.
Public Member Functions | |
TEveBoxGL () | |
Constructor. More... | |
virtual | ~TEveBoxGL () |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
Render with OpenGL, create display-list. More... | |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Render with OpenGL. More... | |
virtual Bool_t | IgnoreSizeForOfInterest () const |
Return true if size of this shape should be ignored when determining if the object should be drawn. More... | |
virtual void | SetBBox () |
Set bounding box. More... | |
virtual Bool_t | SetModel (TObject *obj, const Option_t *opt=0) |
Set model object. More... | |
Public Member Functions inherited from TGLObject | |
TGLObject () | |
virtual | ~TGLObject () |
virtual Bool_t | KeepDuringSmartRefresh () const |
virtual void | SetBBox ()=0 |
virtual Bool_t | SetModel (TObject *obj, const Option_t *opt=0)=0 |
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 void | UpdateBoundingBox () |
Update bounding box from external source. More... | |
Public Member Functions inherited from TGLLogicalShape | |
TGLLogicalShape () | |
global flag for usage of display-lists in shapes that use vertex arrays More... | |
TGLLogicalShape (const TBuffer3D &buffer) | |
Constructor from TBuffer3D. More... | |
TGLLogicalShape (TObject *obj) | |
Constructor with external object. More... | |
virtual | ~TGLLogicalShape () |
Destroy logical shape. More... | |
void | AddRef (TGLPhysicalShape *phys) const |
Add reference to given physical shape. More... | |
virtual Bool_t | AlwaysSecondarySelect () const |
const TGLBoundingBox & | BoundingBox () const |
void | DestroyPhysicals () |
Destroy all physicals attached to this logical. More... | |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const =0 |
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 UInt_t | DLOffset (Short_t) const |
virtual void | Draw (TGLRnrCtx &rnrCtx) const |
Draw the GL drawable, using draw flags. More... | |
virtual void | DrawHighlight (TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const |
Draw the logical shape in highlight mode. More... | |
TObject * | GetExternal () const |
const TGLPhysicalShape * | GetFirstPhysical () const |
TGLScene * | GetScene () const |
TObject * | ID () const |
virtual Bool_t | IgnoreSizeForOfInterest () const |
Return true if size of this shape should be ignored when determining if the object should be drawn. 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... | |
virtual Bool_t | KeepDuringSmartRefresh () 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... | |
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... | |
UInt_t | Ref () const |
Bool_t | SetDLCache (Bool_t cached) |
Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw. More... | |
virtual Bool_t | ShouldDLCache (const TGLRnrCtx &rnrCtx) const |
Returns kTRUE if draws should be display list cached kFALSE otherwise. More... | |
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). More... | |
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. More... | |
virtual void | UpdateBoundingBox () |
void | UpdateBoundingBoxesOfPhysicals () |
Update bounding-boxed of all dependent physicals. More... | |
Protected Member Functions | |
void | RenderBoxAutoNorm (const Float_t p[8][3]) const |
Render box, calculate normals on the fly from first three points. More... | |
void | RenderBoxStdNorm (const Float_t p[8][3]) const |
Render box with standard axis-aligned normals. More... | |
void | RenderOutline (const Float_t p[8][3]) const |
Render box with without normals. More... | |
Protected Member Functions inherited from TGLObject | |
template<class TT > | |
TT * | DynCast (TObject *obj) |
void | SetAxisAlignedBBox (const Float_t *p) |
Set axis-aligned bounding-box. 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... | |
Bool_t | SetModelCheckClass (TObject *obj, TClass *cls) |
Checks if obj is of proper class and sets the model. More... | |
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. More... | |
Protected Attributes | |
TEveBox * | fM |
Protected Attributes inherited from TGLObject | |
Bool_t | fMultiColor |
Protected Attributes inherited from TGLLogicalShape | |
TGLBoundingBox | fBoundingBox |
Also plays the role of ID. More... | |
UInt_t | fDLBase |
scene where object is stored (can be zero!) More... | |
Bool_t | fDLCache |
display-list validity bit-field More... | |
Int_t | fDLSize |
display-list id base More... | |
UShort_t | fDLValid |
display-list size for different LODs More... | |
TObject * | fExternalObj |
first replica More... | |
TGLPhysicalShape * | fFirstPhysical |
physical instance ref counting More... | |
Bool_t | fOwnExtObj |
Strong ref (delete on 0 ref); not in scene. More... | |
UInt_t | fRef |
Bool_t | fRefStrong |
use display list caching More... | |
TGLScene * | fScene |
Shape's bounding box. More... | |
Private Member Functions | |
TEveBoxGL (const TEveBoxGL &) | |
TEveBoxGL & | operator= (const TEveBoxGL &) |
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 * | GetGLRenderer (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 | SetEnvDefaults () |
static void | SetIgnoreSizeForCameraInterest (Bool_t isfci) |
Set state of static fgIgnoreSizeForCameraInterest flag. More... | |
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 More... | |
#include <TEveBoxGL.h>
|
private |
TEveBoxGL::TEveBoxGL | ( | ) |
Constructor.
Definition at line 30 of file TEveBoxGL.cxx.
|
inlinevirtual |
Definition at line 42 of file TEveBoxGL.h.
Render with OpenGL, create display-list.
Implements TGLLogicalShape.
Definition at line 203 of file TEveBoxGL.cxx.
Render with OpenGL.
Reimplemented from TGLLogicalShape.
Definition at line 176 of file TEveBoxGL.cxx.
|
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 50 of file TEveBoxGL.h.
Render box, calculate normals on the fly from first three points.
Definition at line 133 of file TEveBoxGL.cxx.
Render box with standard axis-aligned normals.
Definition at line 98 of file TEveBoxGL.cxx.
Render box with without normals.
To be used with lightning off, for outline.
Definition at line 78 of file TEveBoxGL.cxx.
|
virtual |
|
protected |
Definition at line 34 of file TEveBoxGL.h.