Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGLScene::TSceneInfo Class Reference

Definition at line 78 of file TGLScene.h.

Public Member Functions

 TSceneInfo (TGLViewerBase *view=nullptr, TGLScene *scene=nullptr)
 Constructor.
 
 ~TSceneInfo () override
 Destructor.
 
void ClearAfterRebuild ()
 Clear DrawElementVector fVisibleElement and optionally resize it so that it doesn't take more space then required by all the elements in the scene's draw-list.
 
void ClearAfterUpdate ()
 Clear DrawElementPtrVectors and optionally resize them so that they don't take more space then required by all the elements in the scene's draw-list.
 
void DumpDrawStats ()
 Output draw stats to Info stream.
 
void Lodify (TGLRnrCtx &ctx)
 Quantize LODs for given render-context.
 
void PostDraw ()
 Clean-up after drawing, nothing to be done here.
 
void PreDraw ()
 Prepare for drawing - fill DrawElementPtrVectors from the contents of fVisibleElements if there was some change.
 
void ResetDrawStats ()
 Reset draw statistics.
 
void UpdateDrawStats (const TGLPhysicalShape &shape, Short_t lod)
 Update draw stats, for newly drawn 'shape'.
 
- Public Member Functions inherited from TGLSceneInfo
 TGLSceneInfo (TGLViewerBase *view=nullptr, TGLSceneBase *scene=nullptr)
 
virtual ~TGLSceneInfo ()
 
UInt_t CameraStamp () const
 
TGLClipClip () const
 
Char_t ClipMode () const
 
void ClipMode (Char_t m)
 
std::vector< TGLPlane > & ClipPlanes ()
 
UInt_t ClipStamp () const
 
std::vector< TGLPlane > & FrustumPlanes ()
 
Bool_t GetActive () const
 
TGLSceneBaseGetScene () const
 
const TGLBoundingBoxGetTransformedBBox ()
 
TGLViewerBaseGetViewer () const
 
Bool_t HasUpdateTimeouted () const
 
void InClip (Bool_t c)
 
void InFrustum (Bool_t f)
 
virtual TClassIsA () const
 
Bool_t IsInClip () const
 
Bool_t IsInFrustum () const
 
Bool_t IsVisible () const
 
TGLCameraLastCamera () const
 
TGLClipLastClip () const
 
Short_t LastLOD () const
 
Float_t LastOLLineW () const
 
Short_t LastStyle () const
 
Float_t LastWFLineW () const
 
Short_t LOD () const
 
Float_t OLLineW () const
 
TGLSceneBaseRefScene () const
 
TGLViewerBaseRefViewer () const
 
void ResetCameraStamp ()
 
void ResetClipStamp ()
 
void ResetSceneStamp ()
 
void ResetUpdateTimeouted ()
 
UInt_t SceneStamp () const
 
void SetActive (Bool_t a)
 Set active state of the scene, mark viewer as changed.
 
void SetCameraStamp (UInt_t ts)
 
void SetClip (TGLClip *p)
 
void SetClipStamp (UInt_t ts)
 
void SetLastCamera (TGLCamera *p)
 
void SetLastClip (TGLClip *p)
 
void SetLastLOD (Short_t ld)
 
void SetLastOLLineW (Float_t w)
 
void SetLastStyle (Short_t st)
 
void SetLastWFLineW (Float_t w)
 
void SetLOD (Short_t lod)
 
void SetOLLineW (Float_t w)
 
void SetSceneStamp (UInt_t ts)
 
virtual void SetSceneTrans (TGLMatrix &)
 
void SetStyle (Short_t st)
 
void SetupTransformsAndBBox ()
 Combine information from scene, scene-info and camera (should be optional) into transformation matrices.
 
void SetWFLineW (Float_t w)
 
Bool_t ShouldClip () const
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Short_t Style () const
 
void UpdateTimeouted ()
 
Bool_t ViewCheck () const
 
void ViewCheck (Bool_t c)
 
Float_t WFLineW () const
 

Public Attributes

Int_t fAsPixelCnt
 
std::map< TClass *, UInt_tfByShapeCnt
 
UInt_t fMinorStamp
 
Int_t fOpaqueCnt
 
DrawElementPtrVec_t fOpaqueElements
 
DrawElementPtrVec_t fSelOpaqueElements
 
DrawElementPtrVec_t fSelTranspElements
 
ShapeVec_t fShapesOfInterest
 
Int_t fTranspCnt
 
DrawElementPtrVec_t fTranspElements
 
DrawElementVec_t fVisibleElements
 

Protected Member Functions

void ClearDrawElementPtrVec (DrawElementPtrVec_t &vec, Int_t maxSize)
 Clear given vec and if it grew too large compared to the size of shape-of-interest also resize it.
 
void ClearDrawElementVec (DrawElementVec_t &vec, Int_t maxSize)
 Clear given vec and if it grew too large compared to the size of shape-of-interest also resize it.
 

Private Member Functions

Bool_t CmpDrawElements (const DrawElement_t &de1, const DrawElement_t &de2)
 

Additional Inherited Members

- Public Types inherited from TGLSceneInfo
enum  EClipTest { kClipNone , kClipOutside , kClipInside }
 
- Static Public Member Functions inherited from TGLSceneInfo
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Protected Attributes inherited from TGLSceneInfo
Bool_t fActive
 
UInt_t fCameraStamp
 
TGLClipfClip
 
Char_t fClipMode
 
TGLPlaneSet_t fClipPlanes
 
UInt_t fClipStamp
 
TGLPlaneSet_t fFrustumPlanes
 
Bool_t fInClip
 
Bool_t fInFrustum
 
TGLCamerafLastCamera
 
TGLClipfLastClip
 
Short_t fLastLOD
 
Float_t fLastOLLineW
 
Short_t fLastStyle
 
Float_t fLastWFLineW
 
Short_t fLOD
 
Float_t fOLLineW
 
TGLSceneBasefScene
 
UInt_t fSceneStamp
 
Short_t fStyle
 
TGLBoundingBox fTransformedBBox
 
Bool_t fUpdateTimeouted
 
Bool_t fViewCheck
 
TGLViewerBasefViewer
 
Float_t fWFLineW
 

#include <TGLScene.h>

Inheritance diagram for TGLScene::TSceneInfo:
[legend]

Constructor & Destructor Documentation

◆ TSceneInfo()

TGLScene::TSceneInfo::TSceneInfo ( TGLViewerBase view = nullptr,
TGLScene scene = nullptr 
)

Constructor.

Definition at line 48 of file TGLScene.cxx.

◆ ~TSceneInfo()

TGLScene::TSceneInfo::~TSceneInfo ( )
override

Destructor.

Definition at line 60 of file TGLScene.cxx.

Member Function Documentation

◆ ClearAfterRebuild()

void TGLScene::TSceneInfo::ClearAfterRebuild ( )

Clear DrawElementVector fVisibleElement and optionally resize it so that it doesn't take more space then required by all the elements in the scene's draw-list.

Definition at line 101 of file TGLScene.cxx.

◆ ClearAfterUpdate()

void TGLScene::TSceneInfo::ClearAfterUpdate ( )

Clear DrawElementPtrVectors and optionally resize them so that they don't take more space then required by all the elements in the scene's draw-list.

Definition at line 113 of file TGLScene.cxx.

◆ ClearDrawElementPtrVec()

void TGLScene::TSceneInfo::ClearDrawElementPtrVec ( DrawElementPtrVec_t vec,
Int_t  maxSize 
)
protected

Clear given vec and if it grew too large compared to the size of shape-of-interest also resize it.

Definition at line 84 of file TGLScene.cxx.

◆ ClearDrawElementVec()

void TGLScene::TSceneInfo::ClearDrawElementVec ( DrawElementVec_t vec,
Int_t  maxSize 
)
protected

Clear given vec and if it grew too large compared to the size of shape-of-interest also resize it.

Definition at line 68 of file TGLScene.cxx.

◆ CmpDrawElements()

Bool_t TGLScene::TSceneInfo::CmpDrawElements ( const DrawElement_t de1,
const DrawElement_t de2 
)
private

◆ DumpDrawStats()

void TGLScene::TSceneInfo::DumpDrawStats ( )

Output draw stats to Info stream.

Definition at line 218 of file TGLScene.cxx.

◆ Lodify()

void TGLScene::TSceneInfo::Lodify ( TGLRnrCtx ctx)

Quantize LODs for given render-context.

Definition at line 128 of file TGLScene.cxx.

◆ PostDraw()

void TGLScene::TSceneInfo::PostDraw ( )

Clean-up after drawing, nothing to be done here.

Definition at line 169 of file TGLScene.cxx.

◆ PreDraw()

void TGLScene::TSceneInfo::PreDraw ( )

Prepare for drawing - fill DrawElementPtrVectors from the contents of fVisibleElements if there was some change.

Definition at line 138 of file TGLScene.cxx.

◆ ResetDrawStats()

void TGLScene::TSceneInfo::ResetDrawStats ( )

Reset draw statistics.

Definition at line 176 of file TGLScene.cxx.

◆ UpdateDrawStats()

void TGLScene::TSceneInfo::UpdateDrawStats ( const TGLPhysicalShape shape,
Short_t  lod 
)

Update draw stats, for newly drawn 'shape'.

Definition at line 187 of file TGLScene.cxx.

Member Data Documentation

◆ fAsPixelCnt

Int_t TGLScene::TSceneInfo::fAsPixelCnt

Definition at line 114 of file TGLScene.h.

◆ fByShapeCnt

std::map<TClass*, UInt_t> TGLScene::TSceneInfo::fByShapeCnt

Definition at line 115 of file TGLScene.h.

◆ fMinorStamp

UInt_t TGLScene::TSceneInfo::fMinorStamp

Definition at line 92 of file TGLScene.h.

◆ fOpaqueCnt

Int_t TGLScene::TSceneInfo::fOpaqueCnt

Definition at line 112 of file TGLScene.h.

◆ fOpaqueElements

DrawElementPtrVec_t TGLScene::TSceneInfo::fOpaqueElements

Definition at line 93 of file TGLScene.h.

◆ fSelOpaqueElements

DrawElementPtrVec_t TGLScene::TSceneInfo::fSelOpaqueElements

Definition at line 95 of file TGLScene.h.

◆ fSelTranspElements

DrawElementPtrVec_t TGLScene::TSceneInfo::fSelTranspElements

Definition at line 96 of file TGLScene.h.

◆ fShapesOfInterest

ShapeVec_t TGLScene::TSceneInfo::fShapesOfInterest

Definition at line 88 of file TGLScene.h.

◆ fTranspCnt

Int_t TGLScene::TSceneInfo::fTranspCnt

Definition at line 113 of file TGLScene.h.

◆ fTranspElements

DrawElementPtrVec_t TGLScene::TSceneInfo::fTranspElements

Definition at line 94 of file TGLScene.h.

◆ fVisibleElements

DrawElementVec_t TGLScene::TSceneInfo::fVisibleElements

Definition at line 90 of file TGLScene.h.

Libraries for TGLScene::TSceneInfo:

The documentation for this class was generated from the following files: