Logo ROOT   6.12/07
Reference Guide
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
19 Base class for extended scene context.
20 
21 Scenes can be shared among several viewers and each scene needs to
22 cache some viewer/camera/clipping specific state => this is a
23 storage class for this data.
24 
25 Sub-classes of TGLSceneBase can override the virtual
26 CreateSceneInfo() method and in it instantiate a sub-class of
27 TGLSceneInfo containing the needed information. See TGLScene and
28 inner class SceneInfo; note that some casting is needed in actual
29 methods 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 (0),
46 
47  fLastLOD (TGLRnrCtx::kLODUndef),
48  fLastStyle (TGLRnrCtx::kStyleUndef),
49  fLastWFLineW (0),
50  fLastOLLineW (0),
51  fLastClip (0),
52  fLastCamera(0),
53 
54  fSceneStamp (0),
55  fClipStamp (0),
56  fCameraStamp(0),
57  fUpdateTimeouted(kFALSE),
58 
59  fViewCheck (kTRUE),
60  fInFrustum (kTRUE),
61  fInClip (kTRUE),
62  fClipMode (kClipNone)
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 
91 }
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
Definition: TGLRnrCtx.h:40
void SetupTransformsAndBBox()
Combine information from scene, scene-info and camera (should be optional) into transformation matric...
Scene base-class – provides basic interface expected by the TGLViewer or its sub-classes: ...
Definition: TGLSceneBase.h:32
bool Bool_t
Definition: RtypesCore.h:59
TGLSceneInfo(const TGLSceneInfo &)
Base class for GL viewers.
Definition: TGLViewerBase.h:36
TGLViewerBase * fViewer
Definition: TGLSceneInfo.h:38
TGLBoundingBox fTransformedBBox
Definition: TGLSceneInfo.h:65
TGLSceneBase * fScene
Definition: TGLSceneInfo.h:39
const TGLBoundingBox & BoundingBox() const
Definition: TGLSceneBase.h:138
auto * a
Definition: textangle.C:12
virtual void Changed()
const Bool_t kFALSE
Definition: RtypesCore.h:88
Bool_t fActive
Definition: TGLSceneInfo.h:40
#define ClassImp(name)
Definition: Rtypes.h:359
Base class for extended scene context.
Definition: TGLSceneInfo.h:26
void SetActive(Bool_t a)
Set active state of the scene, mark viewer as changed.
const Bool_t kTRUE
Definition: RtypesCore.h:87