ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | List of all members
TGLScene::TSceneInfo Class Reference

Definition at line 80 of file TGLScene.h.

Public Member Functions

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

Public Attributes

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

Protected Member Functions

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. More...
 
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. More...
 

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 }
 
- Protected Attributes inherited from TGLSceneInfo
TGLViewerBasefViewer
 
TGLSceneBasefScene
 
Bool_t fActive
 
Short_t fLOD
 
Short_t fStyle
 
Float_t fWFLineW
 
Float_t fOLLineW
 
TGLClipfClip
 
Short_t fLastLOD
 
Short_t fLastStyle
 
Float_t fLastWFLineW
 
Float_t fLastOLLineW
 
TGLClipfLastClip
 
TGLCamerafLastCamera
 
UInt_t fSceneStamp
 
UInt_t fClipStamp
 
UInt_t fCameraStamp
 
Bool_t fUpdateTimeouted
 
TGLBoundingBox fTransformedBBox
 
Bool_t fViewCheck
 
Bool_t fInFrustum
 
Bool_t fInClip
 
Char_t fClipMode
 
TGLPlaneSet_t fFrustumPlanes
 
TGLPlaneSet_t fClipPlanes
 

#include <TGLScene.h>

Inheritance diagram for TGLScene::TSceneInfo:
[legend]

Constructor & Destructor Documentation

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

Constructor.

Definition at line 48 of file TGLScene.cxx.

TGLScene::TSceneInfo::~TSceneInfo ( )
virtual

Destructor.

Definition at line 60 of file TGLScene.cxx.

Member Function Documentation

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.

Referenced by TGLScene::RebuildSceneInfo().

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.

Referenced by TGLScene::UpdateSceneInfo().

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.

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.

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

Output draw stats to Info stream.

Definition at line 218 of file TGLScene.cxx.

Referenced by TGLScene::PostDraw().

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

Quantize LODs for given render-context.

Definition at line 128 of file TGLScene.cxx.

Referenced by TGLScene::LodifySceneInfo().

void TGLScene::TSceneInfo::PostDraw ( )

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

Definition at line 169 of file TGLScene.cxx.

Referenced by TGLScene::PostDraw().

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.

Referenced by TGLScene::PreDraw().

void TGLScene::TSceneInfo::ResetDrawStats ( )

Reset draw statistics.

Definition at line 176 of file TGLScene.cxx.

Referenced by TGLScene::PreDraw().

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.

Referenced by TGLScene::RenderElements().

Member Data Documentation

Int_t TGLScene::TSceneInfo::fAsPixelCnt

Definition at line 116 of file TGLScene.h.

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

Definition at line 117 of file TGLScene.h.

UInt_t TGLScene::TSceneInfo::fMinorStamp

Definition at line 94 of file TGLScene.h.

Int_t TGLScene::TSceneInfo::fOpaqueCnt

Definition at line 114 of file TGLScene.h.

DrawElementPtrVec_t TGLScene::TSceneInfo::fOpaqueElements

Definition at line 95 of file TGLScene.h.

Referenced by TGLScene::RenderOpaque().

DrawElementPtrVec_t TGLScene::TSceneInfo::fSelOpaqueElements

Definition at line 97 of file TGLScene.h.

Referenced by TGLScene::RenderSelOpaque(), and TGLScene::RenderSelOpaqueForHighlight().

DrawElementPtrVec_t TGLScene::TSceneInfo::fSelTranspElements

Definition at line 98 of file TGLScene.h.

Referenced by TGLScene::RenderSelTransp(), and TGLScene::RenderSelTranspForHighlight().

ShapeVec_t TGLScene::TSceneInfo::fShapesOfInterest
Int_t TGLScene::TSceneInfo::fTranspCnt

Definition at line 115 of file TGLScene.h.

DrawElementPtrVec_t TGLScene::TSceneInfo::fTranspElements

Definition at line 96 of file TGLScene.h.

Referenced by TGLScene::RenderTransp().

DrawElementVec_t TGLScene::TSceneInfo::fVisibleElements

Definition at line 92 of file TGLScene.h.

Referenced by TGLScene::UpdateSceneInfo().

Collaboration diagram for TGLScene::TSceneInfo:
[legend]

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