61 fBoundingBoxValid (
kFALSE),
62 fDoFrustumCheck (
kTRUE),
79 (*i)->SceneDestructing(
this);
92 Warning(
"TGLSceneBase::AddViewer",
"viewer already in the list.");
106 Warning(
"TGLSceneBase::RemoveViewer",
"viewer not found in the list.");
111 Info(
"TGLSceneBase::RemoveViewer",
"scene '%s' not used - autodestructing.",
GetName());
176 Info(
"TGLSceneBase::UpdateSceneInfo",
240 std::vector<TGLPlane> planeSet;
244 std::vector<TGLPlane>::iterator it = planeSet.begin();
245 while (it != planeSet.end())
290 Info(
"TGLSceneBase::LodifySceneInfo",
291 "'%s' timestamp=%u lod=%d",
314 Error(
"TGLSceneBase::FullRender",
"expected Draw or Select Lock");
340 if (sInfo.
Clip() != 0) clip = sInfo.
Clip();
void AddViewer(TGLViewerBase *viewer)
Add viewer to the list.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
virtual void Render(TGLRnrCtx &rnrCtx)
This function does rendering of all stages, the shapes are rendered in the following order: opaque...
virtual TGLSceneInfo * CreateSceneInfo(TGLViewerBase *view)
Create a scene-info instance appropriate for this scene class.
Bool_t HasUpdateTimeouted() const
void SetLastClip(TGLClip *p)
TGLClip * LastClip() const
void RemoveViewer(TGLViewerBase *viewer)
Remove viewer from the list.
Float_t ViewerOLLineW() const
Scene base-class – provides basic interface expected by the TGLViewer or its sub-classes: ...
virtual void PreRender(TGLRnrCtx &rnrCtx)
Perform pre-render initialization - fill rnrCtx with values stored during PreDraw().
void SetCameraStamp(UInt_t ts)
Abstract clipping shape - derives from TGLPhysicalShape Adds clip mode (inside/outside) and pure virt...
virtual void RenderSelTransp(TGLRnrCtx &rnrCtx)
Render selected transparent elements for highlight.
TGLSceneInfo * GetSceneInfo()
Short_t Min(Short_t a, Short_t b)
UInt_t SceneStamp() const
virtual void RenderSelOpaque(TGLRnrCtx &rnrCtx)
Render selected opaque elements.
Float_t ViewerWFLineW() const
TGLClip * ViewerClip() const
Base class for GL viewers.
std::vector< TGLPlane > & FrustumPlanes()
std::vector< TGLPlane > & ClipPlanes()
void SetSceneLOD(Short_t LOD)
virtual const char * LockIdStr() const
Name printed on locking info messages.
void SetLastLOD(Short_t ld)
virtual void UpdateSceneInfo(TGLRnrCtx &ctx)
Fill scene-info with information needed for rendering, take into account the render-context (viewer s...
UInt_t CameraStamp() const
virtual ~TGLSceneBase()
Destructor.
void Info(const char *location, const char *msgfmt,...)
void SetLastCamera(TGLCamera *p)
void SetSceneStamp(UInt_t ts)
void Error(const char *location, const char *msgfmt,...)
static UInt_t fgSceneIDSrc
virtual void RenderTransp(TGLRnrCtx &rnrCtx)
Render transparent elements.
virtual void RenderSelOpaqueForHighlight(TGLRnrCtx &rnrCtx)
Render selected opaque elements for highlight.
void SetSceneStyle(Short_t sty)
TGLCamera * LastCamera() const
const TGLBoundingBox & BoundingBox() const
void SetSceneWFLineW(Float_t w)
Float_t LastOLLineW() const
virtual void RenderSelTranspForHighlight(TGLRnrCtx &rnrCtx)
Render selected transparent elements.
virtual void RebuildSceneInfo(TGLRnrCtx &ctx)
Fill scene-info with very basic information that is practically view independent. ...
void SetLastStyle(Short_t st)
Float_t LastWFLineW() const
void SetCombiLOD(Short_t LOD)
void SetSceneOLLineW(Float_t w)
Standard selection record including information about containing scene and details ob out selected ob...
virtual void PlaneSet(TGLPlaneSet_t &set) const =0
Bool_t IsDrawOrSelectLock() const
char * Form(const char *fmt,...)
virtual Bool_t ResolveSelectRecord(TGLSelectRecord &rec, Int_t curIdx)
Process selection record rec.
virtual void LodifySceneInfo(TGLRnrCtx &ctx)
Setup LOD-dependant values in scene-info.
void Warning(const char *location, const char *msgfmt,...)
Short_t LastStyle() const
virtual const char * GetName() const
std::list< TGLViewerBase * >::iterator ViewerList_i
const TGLPlane & FrustumPlane(EFrustumPlane plane) const
Base class for extended scene context.
Short_t ViewerStyle() const
virtual void RenderOpaque(TGLRnrCtx &rnrCtx)
Render opaque elements.
void TagViewersChanged()
Tag all viewers as changed.
void SetLastWFLineW(Float_t w)
virtual void PreDraw(TGLRnrCtx &rnrCtx)
Perform basic pre-render initialization:
Rgl::EOverlap Overlap(const TGLPlane &plane) const
Find overlap (Inside, Outside, Partial) of plane c.f. bounding box.
Simple locking interface used by viewer and scene.
3D plane class - of format Ax + By + Cz + D = 0
Short_t ViewerLOD() const
virtual void PostRender(TGLRnrCtx &rnrCtx)
Perform post-render clean-up.
void SetLastOLLineW(Float_t w)
virtual void PostDraw(TGLRnrCtx &rnrCtx)
Finalize drawing.
void SetClipStamp(UInt_t ts)
const char * Data() const