12 #ifndef ROOT_TGLLogicalShape
13 #define ROOT_TGLLogicalShape
15 #ifndef ROOT_TGLBoundingBox
122 #endif // ROOT_TGLLogicalShape
virtual void DLCacheDrop()
Drop all entries for all LODs for this drawable from the display list cache, WITHOUT returning the re...
TGLScene * GetScene() const
virtual Bool_t SupportsSecondarySelect() const
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()...
TObject * GetExternal() const
virtual Bool_t IgnoreSizeForOfInterest() const
Return true if size of this shape should be ignored when determining if the object should be drawn...
UInt_t fDLBase
scene where object is stored (can be zero!)
virtual Bool_t AlwaysSecondarySelect() const
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: ...
void DestroyPhysicals()
Destroy all physicals attached to this logical.
static Bool_t GetIgnoreSizeForCameraInterest()
Get state of static fgIgnoreSizeForCameraInterest flag.
void AddRef(TGLPhysicalShape *phys) const
Add reference to given physical shape.
virtual UInt_t DLOffset(Short_t) const
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...
Concrete physical shape - a GL drawable.
void SubRef(TGLPhysicalShape *phys) const
Remove reference to given physical shape, potentially deleting this object when hitting zero ref-coun...
TGLScene * fScene
Shape's bounding box.
virtual Bool_t ShouldDLCache(const TGLRnrCtx &rnrCtx) const
Returns kTRUE if draws should be display list cached kFALSE otherwise.
#define ClassDef(name, id)
virtual ELODAxes SupportedLODAxes() 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
virtual Bool_t KeepDuringSmartRefresh() const
const TGLPhysicalShape * GetFirstPhysical() const
void StrongRef(Bool_t strong) const
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...
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw the GL drawable, using draw flags.
Generic 3D primitive description class.
Base GL viewer object - used by both standalone and embedded (in pad) GL.
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'.
Bool_t SetDLCache(Bool_t cached)
Modify capture of draws into display list cache kTRUE - capture, kFALSE direct draw.
TGLLogicalShape()
Constructor.
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.
void PurgeDLRange(UInt_t base, Int_t size) const
External object is a fake.
Bool_t fRefStrong
use display list caching
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. ...
TGLScene provides management and rendering of ROOT's default 3D /object representation as logical and...
const TGLBoundingBox & BoundingBox() const
TGLBoundingBox fBoundingBox
Also plays the role of ID.
Bool_t fDLCache
display-list validity bit-field
virtual void DrawHighlight(TGLRnrCtx &rnrCtx, const TGLPhysicalShape *pshp, Int_t lvl=-1) const
Draw the logical shape in highlight mode.
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