Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGLSceneInfo.cxx
Go to the documentation of this file.
1// @(#)root/gl:$Id$
2// Author: Matevz Tadel, Feb 2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#include "TGLSceneInfo.h"
13#include "TGLRnrCtx.h"
14#include "TGLSceneBase.h"
15#include "TGLViewerBase.h"
16
17/** \class TGLSceneInfo
18\ingroup opengl
19Base class for extended scene context.
20
21Scenes can be shared among several viewers and each scene needs to
22cache some viewer/camera/clipping specific state => this is a
23storage class for this data.
24
25Sub-classes of TGLSceneBase can override the virtual
26CreateSceneInfo() method and in it instantiate a sub-class of
27TGLSceneInfo containing the needed information. See TGLScene and
28inner class SceneInfo; note that some casting is needed in actual
29methods as TGLRnrCtx holds the base-class pointer.
30*/
31
33
34////////////////////////////////////////////////////////////////////////////////
35
37 fViewer (view),
38 fScene (scene),
39 fActive (kTRUE),
40
41 fLOD (TGLRnrCtx::kLODUndef),
42 fStyle (TGLRnrCtx::kStyleUndef),
43 fWFLineW (0),
44 fOLLineW (0),
45 fClip (nullptr),
46
47 fLastLOD (TGLRnrCtx::kLODUndef),
48 fLastStyle (TGLRnrCtx::kStyleUndef),
49 fLastWFLineW (0),
50 fLastOLLineW (0),
51 fLastClip (nullptr),
52 fLastCamera(nullptr),
53
54 fSceneStamp (0),
55 fClipStamp (0),
56 fCameraStamp(0),
58
61 fInClip (kTRUE),
63{
64 // Default constructor.
65}
66
67////////////////////////////////////////////////////////////////////////////////
68/// Set active state of the scene, mark viewer as changed.
69
71{
72 if (a != fActive)
73 {
74 fActive = a;
75 fViewer->Changed();
76 }
77}
78
79////////////////////////////////////////////////////////////////////////////////
80/// Combine information from scene, scene-info and camera (should be
81/// optional) into transformation matrices.
82///
83/// Transform scene bounding box using this transformation.
84
86{
87 // !!! Transforms not implemented yet, just copy the scene bounding
88 // box.
89
90 fTransformedBBox = fScene->BoundingBox();
91}
#define a(i)
Definition RSha256.hxx:99
bool Bool_t
Definition RtypesCore.h:63
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
#define ClassImp(name)
Definition Rtypes.h:377
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Definition TGLRnrCtx.h:41
Base class for extended scene context.
UInt_t fCameraStamp
Bool_t fViewCheck
UInt_t fClipStamp
TGLCamera * fLastCamera
Float_t fLastWFLineW
Float_t fLastOLLineW
TGLSceneBase * fScene
Bool_t fInFrustum
void SetupTransformsAndBBox()
Combine information from scene, scene-info and camera (should be optional) into transformation matric...
Float_t fOLLineW
TGLClip * fClip
Short_t fLastStyle
friend class TGLSceneBase
TGLBoundingBox fTransformedBBox
void SetActive(Bool_t a)
Set active state of the scene, mark viewer as changed.
TGLClip * fLastClip
Short_t fStyle
Char_t fClipMode
TGLViewerBase * fViewer
UInt_t fSceneStamp
Bool_t fUpdateTimeouted
Float_t fWFLineW
Short_t fLastLOD
TGLSceneInfo(const TGLSceneInfo &)=delete
Base class for GL viewers.