12 #ifndef ROOT_TGLLogicalShape 13 #define ROOT_TGLLogicalShape 125 #endif // ROOT_TGLLogicalShape virtual void DLCacheDrop()
Drop all entries for all LODs for this drawable from the display list cache, WITHOUT returning the re...
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
virtual void ProcessSelection(TGLRnrCtx &rnrCtx, TGLSelectRecord &rec)
Virtual method called-back after a secondary selection hit is recorded (see TGLViewer::HandleButton()...
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 fDLBase
scene where object is stored (can be zero!)
void UpdateBoundingBoxesOfPhysicals()
Update bounding-boxed of all dependent physicals.
Int_t fDLSize
display-list id base
UShort_t fDLValid
display-list size for different LODs
Scene base-class – provides basic interface expected by the TGLViewer or its sub-classes: ...
static void SetEnvDefaults()
void DestroyPhysicals()
Destroy all physicals attached to this logical.
void AddRef(TGLPhysicalShape *phys) const
Add reference to given physical shape.
static Bool_t GetIgnoreSizeForCameraInterest()
Get state of static fgIgnoreSizeForCameraInterest flag.
virtual Bool_t SupportsSecondarySelect() const
Concrete physical shape - a GL drawable.
TGLScene * fScene
Shape's bounding box.
void SubRef(TGLPhysicalShape *phys) const
Remove reference to given physical shape, potentially deleting this object when hitting zero ref-coun...
#define ClassDef(name, id)
virtual UInt_t DLOffset(Short_t) const
static void SetIgnoreSizeForCameraInterest(Bool_t isfci)
Set state of static fgIgnoreSizeForCameraInterest flag.
virtual ~TGLLogicalShape()
Destroy logical shape.
virtual void DLCachePurge()
Purge all entries for all LODs for this drawable from the display list cache, returning the reserved ...
TObject * fExternalObj
first replica
const TGLBoundingBox & BoundingBox() const
static Bool_t fgUseDLsForVertArrs
global flag for usage of display-lists
TObject * GetExternal() const
virtual void DrawHighlight(TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const
Draw the logical shape in highlight mode.
TGLPhysicalShape * fFirstPhysical
physical instance ref counting
Standard selection record including information about containing scene and details ob out selected ob...
UInt_t UnrefFirstPhysical()
Unreferenced first physical in the list, returning its id and making it fit for destruction somewhere...
const TGLPhysicalShape * GetFirstPhysical() const
Generic 3D primitive description class.
Base GL viewer object - used by both standalone and embedded (in pad) GL.
Bool_t SetDLCache(Bool_t cached)
Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw.
TGLLogicalShape()
global flag for usage of display-lists in shapes that use vertex arrays
virtual Bool_t KeepDuringSmartRefresh() const
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const =0
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
Bool_t fOwnExtObj
Strong ref (delete on 0 ref); not in scene.
Bool_t fRefStrong
use display list caching
void StrongRef(Bool_t strong) const
virtual void UpdateBoundingBox()
TGLLogicalShape & operator=(const TGLLogicalShape &)
Mother of all ROOT objects.
Concrete class describing an orientated (free) or axis aligned box of 8 vertices. ...
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw the GL drawable, using draw flags.
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 ELODAxes SupportedLODAxes() const
TGLScene provides management and rendering of ROOT's default 3D /object representation as logical and...
void PurgeDLRange(UInt_t base, Int_t size) const
External object is a fake.
TGLBoundingBox fBoundingBox
Also plays the role of ID.
virtual Bool_t IgnoreSizeForOfInterest() const
Return true if size of this shape should be ignored when determining if the object should be drawn...
Bool_t fDLCache
display-list validity bit-field
virtual Bool_t ShouldDLCache(const TGLRnrCtx &rnrCtx) const
Returns kTRUE if draws should be display list cached kFALSE otherwise.
TGLScene * GetScene() const
virtual Bool_t AlwaysSecondarySelect() const
virtual void DLCacheClear()
Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved...
static Bool_t fgIgnoreSizeForCameraInterest