Implements a native ROOT-GL cylinder that can be rendered at different levels of detail.
Definition at line 21 of file TGLCylinder.h.
Public Member Functions | |
TGLCylinder (const TBuffer3DTube &buffer) | |
Copy out relevant parts of buffer - we create and delete mesh parts on demand in DirectDraw() and they are DL cached. | |
~TGLCylinder () | |
destructor | |
virtual void | DirectDraw (TGLRnrCtx &rnrCtx) const |
Debug tracing. | |
virtual UInt_t | DLOffset (Short_t lod) const |
Return display-list offset for given LOD. | |
virtual Short_t | QuantizeShapeLOD (Short_t shapeLOD, Short_t combiLOD) const |
Factor in scene/viewer LOD and quantize. | |
virtual ELODAxes | SupportedLODAxes () const |
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 void | Draw (TGLRnrCtx &rnrCtx) const |
Draw the GL drawable, using draw flags. | |
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 |
virtual Bool_t | IgnoreSizeForOfInterest () const |
Return true if size of this shape should be ignored when determining if the object should be drawn. | |
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 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). | |
UInt_t | Ref () const |
Bool_t | SetDLCache (Bool_t cached) |
Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw. | |
virtual Bool_t | ShouldDLCache (const TGLRnrCtx &rnrCtx) const |
Returns kTRUE if draws should be display list cached kFALSE otherwise. | |
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 Bool_t | SupportsSecondarySelect () const |
UInt_t | UnrefFirstPhysical () |
Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere else. | |
virtual void | UpdateBoundingBox () |
void | UpdateBoundingBoxesOfPhysicals () |
Update bounding-boxed of all dependent physicals. | |
Private Attributes | |
Double_t | fDz |
TGLVector3 | fHighPlaneNorm |
TGLVector3 | fLowPlaneNorm |
Double_t | fPhi1 |
Double_t | fPhi2 |
Double_t | fR1 |
Double_t | fR2 |
Double_t | fR3 |
Double_t | fR4 |
Bool_t | fSegMesh |
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 TGLLogicalShape | |
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 TGLLogicalShape | |
void | PurgeDLRange (UInt_t base, Int_t size) const |
External object is a fake. | |
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. | |
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 <TGLCylinder.h>
TGLCylinder::TGLCylinder | ( | const TBuffer3DTube & | buffer | ) |
Copy out relevant parts of buffer - we create and delete mesh parts on demand in DirectDraw() and they are DL cached.
Definition at line 521 of file TGLCylinder.cxx.
TGLCylinder::~TGLCylinder | ( | ) |
destructor
Definition at line 583 of file TGLCylinder.cxx.
Return display-list offset for given LOD.
Calculation based on what is done in virtual QuantizeShapeLOD below.
Reimplemented from TGLLogicalShape.
Definition at line 591 of file TGLCylinder.cxx.
Factor in scene/viewer LOD and quantize.
Reimplemented from TGLLogicalShape.
Definition at line 603 of file TGLCylinder.cxx.
|
inlinevirtual |
Reimplemented from TGLLogicalShape.
Definition at line 39 of file TGLCylinder.h.
|
private |
Definition at line 25 of file TGLCylinder.h.
|
private |
Definition at line 28 of file TGLCylinder.h.
|
private |
Definition at line 28 of file TGLCylinder.h.
|
private |
Definition at line 26 of file TGLCylinder.h.
|
private |
Definition at line 26 of file TGLCylinder.h.
|
private |
Definition at line 24 of file TGLCylinder.h.
|
private |
Definition at line 24 of file TGLCylinder.h.
|
private |
Definition at line 24 of file TGLCylinder.h.
|
private |
Definition at line 24 of file TGLCylinder.h.
|
private |
Definition at line 29 of file TGLCylinder.h.