18#include "TGLIncludes.h"
78 (*i)->SceneDestructing(
this);
91 Warning(
"TGLSceneBase::AddViewer",
"viewer already in the list.");
105 Warning(
"TGLSceneBase::RemoveViewer",
"viewer not found in the list.");
110 Info(
"TGLSceneBase::RemoveViewer",
"scene '%s' not used - autodestructing.",
GetName());
132 return Form(
"TGLSceneBase %s",
fName.Data());
175 Info(
"TGLSceneBase::UpdateSceneInfo",
239 std::vector<TGLPlane> planeSet;
243 std::vector<TGLPlane>::iterator it = planeSet.begin();
244 while (it != planeSet.end())
289 Info(
"TGLSceneBase::LodifySceneInfo",
290 "'%s' timestamp=%u lod=%d",
313 Error(
"TGLSceneBase::FullRender",
"expected Draw or Select Lock");
339 if (sInfo.
Clip() !=
nullptr) clip = sInfo.
Clip();
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
short Short_t
Signed Short integer 2 bytes (short).
float Float_t
Float 4 bytes (float).
Error("WriteTObject","The current directory (%s) is not associated with a file. The object (%s) has not been written.", GetName(), objname)
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
const TGLPlane & FrustumPlane(EFrustumPlane plane) const
Abstract clipping shape - derives from TGLPhysicalShape Adds clip mode (inside/outside) and pure virt...
virtual void PlaneSet(TGLPlaneSet_t &set) const =0
TGLLockable(const TGLLockable &)=delete
Bool_t IsDrawOrSelectLock() const
3D plane class - of format Ax + By + Cz + D = 0
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
void SetSceneOLLineW(Float_t w)
Float_t ViewerWFLineW() const
void SetSceneLOD(Short_t LOD)
Short_t ViewerStyle() const
void SetSceneWFLineW(Float_t w)
TGLClip * ViewerClip() const
Short_t ViewerLOD() const
void SetSceneStyle(Short_t sty)
Float_t ViewerOLLineW() const
void SetCombiLOD(Short_t LOD)
TGLSceneInfo * GetSceneInfo()
virtual const char * GetName() const
virtual void PostDraw(TGLRnrCtx &rnrCtx)
Finalize drawing.
const TGLBoundingBox & BoundingBox() const
virtual void RenderSelOpaque(TGLRnrCtx &rnrCtx)
Render selected opaque elements.
virtual void PostRender(TGLRnrCtx &rnrCtx)
Perform post-render clean-up.
static UInt_t fgSceneIDSrc
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.
virtual void RenderSelTranspForHighlight(TGLRnrCtx &rnrCtx)
Render selected transparent elements.
std::list< TGLViewerBase * >::iterator ViewerList_i
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 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.
~TGLSceneBase() override
Destructor.
virtual void Render(TGLRnrCtx &rnrCtx)
This function does rendering of all stages, the shapes are rendered in the following order: opaque,...
Base class for extended scene context.
UInt_t SceneStamp() const
void SetLastClip(TGLClip *p)
Short_t LastStyle() const
void SetLastWFLineW(Float_t w)
void SetCameraStamp(UInt_t ts)
TGLClip * LastClip() const
void SetLastLOD(Short_t ld)
UInt_t CameraStamp() const
void SetLastCamera(TGLCamera *p)
void SetSceneStamp(UInt_t ts)
TGLCamera * LastCamera() const
Float_t LastWFLineW() const
Bool_t HasUpdateTimeouted() const
std::vector< TGLPlane > & ClipPlanes()
void SetLastStyle(Short_t st)
Float_t LastOLLineW() const
void SetClipStamp(UInt_t ts)
std::vector< TGLPlane > & FrustumPlanes()
void SetLastOLLineW(Float_t w)
Standard selection record including information about containing scene and details ob out selected ob...
Base class for GL viewers.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.