12#ifndef ROOT_TGLSceneBase_H
13#define ROOT_TGLSceneBase_H
#define ClassDefOverride(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
Concrete class describing an orientated (free) or axis aligned box of 8 vertices.
Abstract clipping shape - derives from TGLPhysicalShape Adds clip mode (inside/outside) and pure virt...
Simple locking interface used by viewer and scene.
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Scene base-class – provides basic interface expected by the TGLViewer or its sub-classes:
virtual const char * GetName() const
void SetAutoDestruct(Bool_t a)
virtual void PostDraw(TGLRnrCtx &rnrCtx)
Finalize drawing.
const TGLBoundingBox & BoundingBox() const
virtual void RenderSelOpaque(TGLRnrCtx &rnrCtx)
Render selected opaque elements.
TGLSceneBase(const TGLSceneBase &)=delete
virtual void PostRender(TGLRnrCtx &rnrCtx)
Perform post-render clean-up.
static UInt_t fgSceneIDSrc
virtual void SetTitle(const char *title)
virtual TGLLogicalShape * FindLogical(TObject *) const
virtual void SetName(const char *name)
TGLBoundingBox fBoundingBox
virtual TGLSceneInfo * CreateSceneInfo(TGLViewerBase *view)
Create a scene-info instance appropriate for this scene class.
void RemoveViewer(TGLViewerBase *viewer)
Remove viewer from the list.
virtual void LodifySceneInfo(TGLRnrCtx &ctx)
Setup LOD-dependant values in scene-info.
virtual void RenderSelTransp(TGLRnrCtx &rnrCtx)
Render selected transparent elements for highlight.
virtual void PreRender(TGLRnrCtx &rnrCtx)
Perform pre-render initialization - fill rnrCtx with values stored during PreDraw().
virtual Bool_t ResolveSelectRecord(TGLSelectRecord &rec, Int_t curIdx)
Process selection record rec.
virtual void RenderTransp(TGLRnrCtx &rnrCtx)
Render transparent elements.
const char * LockIdStr() const override
Name printed on locking info messages.
UInt_t GetMinorStamp() const
virtual void RenderSelTranspForHighlight(TGLRnrCtx &rnrCtx)
Render selected transparent elements.
void InvalidateBoundingBox()
UInt_t GetTimeStamp() const
TGLSceneBase & operator=(const TGLSceneBase &)=delete
std::list< TGLViewerBase * >::iterator ViewerList_i
std::list< TGLViewerBase * > ViewerList_t
void SetSelectable(Bool_t a)
virtual void PreDraw(TGLRnrCtx &rnrCtx)
Perform basic pre-render initialization:
virtual void RebuildSceneInfo(TGLRnrCtx &ctx)
Fill scene-info with very basic information that is practically view independent.
void AddViewer(TGLViewerBase *viewer)
Add viewer to the list.
virtual void CalcBoundingBox() const =0
void SetStyle(Short_t st)
Bool_t GetAutoDestruct() const
virtual void SetNameTitle(const char *name, const char *title)
virtual void RenderOpaque(TGLRnrCtx &rnrCtx)
Render opaque elements.
virtual void RenderSelOpaqueForHighlight(TGLRnrCtx &rnrCtx)
Render selected opaque elements for highlight.
virtual void UpdateSceneInfo(TGLRnrCtx &ctx)
Fill scene-info with information needed for rendering, take into account the render-context (viewer s...
void TagViewersChanged()
Tag all viewers as changed.
virtual const char * GetTitle() const
~TGLSceneBase() override
Destructor.
virtual void Render(TGLRnrCtx &rnrCtx)
This function does rendering of all stages, the shapes are rendered in the following order: opaque,...
Bool_t GetSelectable() const
Base class for extended scene context.
Standard selection record including information about containing scene and details ob out selected ob...
Base class for GL viewers.
Mother of all ROOT objects.