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),
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;
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}
#define a(i)
Definition RSha256.hxx:99
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
Scene base-class – provides basic interface expected by the TGLViewer or its sub-classes:
const TGLBoundingBox & BoundingBox() const
Base class for extended scene context.
TGLSceneBase * fScene
void SetupTransformsAndBBox()
Combine information from scene, scene-info and camera (should be optional) into transformation matric...
TGLBoundingBox fTransformedBBox
void SetActive(Bool_t a)
Set active state of the scene, mark viewer as changed.
TGLViewerBase * fViewer
TGLSceneInfo(const TGLSceneInfo &)=delete
Base class for GL viewers.
virtual void Changed()