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 Types | Public Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
TGLSceneInfo Class Reference

Base class for extended scene context.

Scenes can be shared among several viewers and each scene needs to cache some viewer/camera/clipping specific state => this is a storage class for this data.

Sub-classes of TGLSceneBase can override the virtual CreateSceneInfo() method and in it instantiate a sub-class of TGLSceneInfo containing the needed information. See TGLScene and inner class SceneInfo; note that some casting is needed in actual methods as TGLRnrCtx holds the base-class pointer.

Definition at line 26 of file TGLSceneInfo.h.

Public Types

enum  EClipTest { kClipNone, kClipOutside, kClipInside }
 

Public Member Functions

 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 ()
 

Protected Attributes

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
 

Private Member Functions

 TGLSceneInfo (const TGLSceneInfo &)
 
TGLSceneInfooperator= (const TGLSceneInfo &)
 

Friends

class TGLSceneBase
 

#include <TGLSceneInfo.h>

Inheritance diagram for TGLSceneInfo:
[legend]

Member Enumeration Documentation

Enumerator
kClipNone 
kClipOutside 
kClipInside 

Definition at line 31 of file TGLSceneInfo.h.

Constructor & Destructor Documentation

TGLSceneInfo::TGLSceneInfo ( const TGLSceneInfo )
private
TGLSceneInfo::TGLSceneInfo ( TGLViewerBase view = 0,
TGLSceneBase scene = 0 
)
virtual TGLSceneInfo::~TGLSceneInfo ( )
inlinevirtual

Definition at line 79 of file TGLSceneInfo.h.

Member Function Documentation

UInt_t TGLSceneInfo::CameraStamp ( ) const
inline

Definition at line 149 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

TGLClip* TGLSceneInfo::Clip ( ) const
inline

Definition at line 121 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

Char_t TGLSceneInfo::ClipMode ( ) const
inline
void TGLSceneInfo::ClipMode ( Char_t  m)
inline

Definition at line 102 of file TGLSceneInfo.h.

std::vector<TGLPlane>& TGLSceneInfo::ClipPlanes ( )
inline
UInt_t TGLSceneInfo::ClipStamp ( ) const
inline

Definition at line 145 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

std::vector<TGLPlane>& TGLSceneInfo::FrustumPlanes ( )
inline

Definition at line 107 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::UpdateSceneInfo(), and TGLScene::UpdateSceneInfo().

Bool_t TGLSceneInfo::GetActive ( ) const
inline

Definition at line 86 of file TGLSceneInfo.h.

Referenced by TGLViewerBase::MergeSceneBBoxes(), and TGLViewerBase::PreRender().

TGLSceneBase* TGLSceneInfo::GetScene ( ) const
inline
const TGLBoundingBox& TGLSceneInfo::GetTransformedBBox ( )
inline
TGLViewerBase* TGLSceneInfo::GetViewer ( ) const
inline

Definition at line 81 of file TGLSceneInfo.h.

Bool_t TGLSceneInfo::HasUpdateTimeouted ( ) const
inline

Definition at line 153 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::InClip ( Bool_t  c)
inline

Definition at line 100 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::UpdateSceneInfo().

void TGLSceneInfo::InFrustum ( Bool_t  f)
inline

Definition at line 98 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::UpdateSceneInfo().

Bool_t TGLSceneInfo::IsInClip ( ) const
inline

Definition at line 99 of file TGLSceneInfo.h.

Bool_t TGLSceneInfo::IsInFrustum ( ) const
inline

Definition at line 97 of file TGLSceneInfo.h.

Bool_t TGLSceneInfo::IsVisible ( ) const
inline

Definition at line 105 of file TGLSceneInfo.h.

Referenced by TGLViewerBase::PreRender(), and TGLScene::UpdateSceneInfo().

TGLCamera* TGLSceneInfo::LastCamera ( ) const
inline

Definition at line 138 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

TGLClip* TGLSceneInfo::LastClip ( ) const
inline

Definition at line 135 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw(), and TGLSceneBase::PreRender().

Short_t TGLSceneInfo::LastLOD ( ) const
inline

Definition at line 124 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw(), and TGLSceneBase::PreRender().

Float_t TGLSceneInfo::LastOLLineW ( ) const
inline

Definition at line 132 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreRender().

Short_t TGLSceneInfo::LastStyle ( ) const
inline

Definition at line 127 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreRender().

Float_t TGLSceneInfo::LastWFLineW ( ) const
inline

Definition at line 130 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreRender().

Short_t TGLSceneInfo::LOD ( ) const
inline

Definition at line 110 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

Float_t TGLSceneInfo::OLLineW ( ) const
inline

Definition at line 118 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

TGLSceneInfo& TGLSceneInfo::operator= ( const TGLSceneInfo )
private
TGLSceneBase& TGLSceneInfo::RefScene ( ) const
inline

Definition at line 84 of file TGLSceneInfo.h.

TGLViewerBase& TGLSceneInfo::RefViewer ( ) const
inline

Definition at line 82 of file TGLSceneInfo.h.

void TGLSceneInfo::ResetCameraStamp ( )
inline

Definition at line 151 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::ResetClipStamp ( )
inline

Definition at line 147 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::ResetSceneStamp ( )
inline

Definition at line 143 of file TGLSceneInfo.h.

Referenced by SetSceneTrans().

void TGLSceneInfo::ResetUpdateTimeouted ( )
inline

Definition at line 155 of file TGLSceneInfo.h.

Referenced by TGLScene::UpdateSceneInfo().

UInt_t TGLSceneInfo::SceneStamp ( ) const
inline

Definition at line 141 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::SetActive ( Bool_t  a)

Set active state of the scene, mark viewer as changed.

Definition at line 70 of file TGLSceneInfo.cxx.

Referenced by TEveSceneInfo::AddStamp().

void TGLSceneInfo::SetCameraStamp ( UInt_t  ts)
inline

Definition at line 150 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::UpdateSceneInfo().

void TGLSceneInfo::SetClip ( TGLClip p)
inline

Definition at line 122 of file TGLSceneInfo.h.

void TGLSceneInfo::SetClipStamp ( UInt_t  ts)
inline

Definition at line 146 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::UpdateSceneInfo().

void TGLSceneInfo::SetLastCamera ( TGLCamera p)
inline
void TGLSceneInfo::SetLastClip ( TGLClip p)
inline
void TGLSceneInfo::SetLastLOD ( Short_t  ld)
inline

Definition at line 125 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::LodifySceneInfo(), and TGLSceneBase::UpdateSceneInfo().

void TGLSceneInfo::SetLastOLLineW ( Float_t  w)
inline

Definition at line 133 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::SetLastStyle ( Short_t  st)
inline

Definition at line 128 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw(), and TGLSceneBase::UpdateSceneInfo().

void TGLSceneInfo::SetLastWFLineW ( Float_t  w)
inline

Definition at line 131 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::SetLOD ( Short_t  lod)
inline

Definition at line 111 of file TGLSceneInfo.h.

void TGLSceneInfo::SetOLLineW ( Float_t  w)
inline

Definition at line 119 of file TGLSceneInfo.h.

void TGLSceneInfo::SetSceneStamp ( UInt_t  ts)
inline

Definition at line 142 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::UpdateSceneInfo().

virtual void TGLSceneInfo::SetSceneTrans ( TGLMatrix )
inlinevirtual

Definition at line 93 of file TGLSceneInfo.h.

void TGLSceneInfo::SetStyle ( Short_t  st)
inline

Definition at line 114 of file TGLSceneInfo.h.

void TGLSceneInfo::SetupTransformsAndBBox ( )

Combine information from scene, scene-info and camera (should be optional) into transformation matrices.

Transform scene bounding box using this transformation.

Definition at line 85 of file TGLSceneInfo.cxx.

Referenced by TGLViewerBase::MergeSceneBBoxes(), and TGLViewerBase::PreRender().

void TGLSceneInfo::SetWFLineW ( Float_t  w)
inline

Definition at line 117 of file TGLSceneInfo.h.

Bool_t TGLSceneInfo::ShouldClip ( ) const
inline

Definition at line 104 of file TGLSceneInfo.h.

Referenced by TGLScene::RenderAllPasses().

Short_t TGLSceneInfo::Style ( ) const
inline

Definition at line 113 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

void TGLSceneInfo::UpdateTimeouted ( )
inline

Definition at line 154 of file TGLSceneInfo.h.

Referenced by TGLScene::UpdateSceneInfo().

Bool_t TGLSceneInfo::ViewCheck ( ) const
inline

Definition at line 95 of file TGLSceneInfo.h.

Referenced by TGLViewerBase::PreRender().

void TGLSceneInfo::ViewCheck ( Bool_t  c)
inline

Definition at line 96 of file TGLSceneInfo.h.

Float_t TGLSceneInfo::WFLineW ( ) const
inline

Definition at line 116 of file TGLSceneInfo.h.

Referenced by TGLSceneBase::PreDraw().

Friends And Related Function Documentation

friend class TGLSceneBase
friend

Definition at line 28 of file TGLSceneInfo.h.

Member Data Documentation

Bool_t TGLSceneInfo::fActive
protected

Definition at line 40 of file TGLSceneInfo.h.

Referenced by GetActive(), and SetActive().

UInt_t TGLSceneInfo::fCameraStamp
protected

Definition at line 57 of file TGLSceneInfo.h.

Referenced by CameraStamp(), ResetCameraStamp(), and SetCameraStamp().

TGLClip* TGLSceneInfo::fClip
protected

Definition at line 46 of file TGLSceneInfo.h.

Referenced by Clip(), and SetClip().

Char_t TGLSceneInfo::fClipMode
protected

Definition at line 70 of file TGLSceneInfo.h.

Referenced by ClipMode(), and ShouldClip().

TGLPlaneSet_t TGLSceneInfo::fClipPlanes
protected

Definition at line 72 of file TGLSceneInfo.h.

Referenced by ClipPlanes().

UInt_t TGLSceneInfo::fClipStamp
protected

Definition at line 56 of file TGLSceneInfo.h.

Referenced by ClipStamp(), ResetClipStamp(), and SetClipStamp().

TGLPlaneSet_t TGLSceneInfo::fFrustumPlanes
protected

Definition at line 71 of file TGLSceneInfo.h.

Referenced by FrustumPlanes().

Bool_t TGLSceneInfo::fInClip
protected

Definition at line 69 of file TGLSceneInfo.h.

Referenced by InClip(), IsInClip(), and IsVisible().

Bool_t TGLSceneInfo::fInFrustum
protected

Definition at line 68 of file TGLSceneInfo.h.

Referenced by InFrustum(), IsInFrustum(), and IsVisible().

TGLCamera* TGLSceneInfo::fLastCamera
protected

Definition at line 53 of file TGLSceneInfo.h.

Referenced by LastCamera(), and SetLastCamera().

TGLClip* TGLSceneInfo::fLastClip
protected

Definition at line 52 of file TGLSceneInfo.h.

Referenced by LastClip(), and SetLastClip().

Short_t TGLSceneInfo::fLastLOD
protected

Definition at line 48 of file TGLSceneInfo.h.

Referenced by LastLOD(), and SetLastLOD().

Float_t TGLSceneInfo::fLastOLLineW
protected

Definition at line 51 of file TGLSceneInfo.h.

Referenced by LastOLLineW(), and SetLastOLLineW().

Short_t TGLSceneInfo::fLastStyle
protected

Definition at line 49 of file TGLSceneInfo.h.

Referenced by LastStyle(), and SetLastStyle().

Float_t TGLSceneInfo::fLastWFLineW
protected

Definition at line 50 of file TGLSceneInfo.h.

Referenced by LastWFLineW(), and SetLastWFLineW().

Short_t TGLSceneInfo::fLOD
protected

Definition at line 42 of file TGLSceneInfo.h.

Referenced by LOD(), and SetLOD().

Float_t TGLSceneInfo::fOLLineW
protected

Definition at line 45 of file TGLSceneInfo.h.

Referenced by OLLineW(), and SetOLLineW().

TGLSceneBase* TGLSceneInfo::fScene
protected

Definition at line 39 of file TGLSceneInfo.h.

Referenced by GetScene(), RefScene(), and SetupTransformsAndBBox().

UInt_t TGLSceneInfo::fSceneStamp
protected

Definition at line 55 of file TGLSceneInfo.h.

Referenced by ResetSceneStamp(), SceneStamp(), and SetSceneStamp().

Short_t TGLSceneInfo::fStyle
protected

Definition at line 43 of file TGLSceneInfo.h.

Referenced by SetStyle(), and Style().

TGLBoundingBox TGLSceneInfo::fTransformedBBox
protected

Definition at line 65 of file TGLSceneInfo.h.

Referenced by GetTransformedBBox(), and SetupTransformsAndBBox().

Bool_t TGLSceneInfo::fUpdateTimeouted
protected

Definition at line 58 of file TGLSceneInfo.h.

Referenced by HasUpdateTimeouted(), ResetUpdateTimeouted(), and UpdateTimeouted().

Bool_t TGLSceneInfo::fViewCheck
protected

Definition at line 67 of file TGLSceneInfo.h.

Referenced by ViewCheck().

TGLViewerBase* TGLSceneInfo::fViewer
protected

Definition at line 38 of file TGLSceneInfo.h.

Referenced by GetViewer(), RefViewer(), and SetActive().

Float_t TGLSceneInfo::fWFLineW
protected

Definition at line 44 of file TGLSceneInfo.h.

Referenced by SetWFLineW(), and WFLineW().

Collaboration diagram for TGLSceneInfo:
[legend]

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