OpendTect  6.3
visscene.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Kris Tingdahl
8  Date: Jan 2002
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "visdatagroup.h"
15 #include "sets.h"
16 
21 namespace osg { class Group; }
22 namespace osgGeo { class GLInfo; }
23 
24 namespace visBase
25 {
26  class SelectionManager;
27  class EventCatcher;
28  class PolygonOffset;
29  class Light;
30  class Camera;
31 
39 {
40 public:
41  static Scene* create()
43 
44  void addObject(DataObject*);
45 
46  void setCameraAmbientLight(float);
47  float getCameraAmbientLight() const;
48  void setCameraLightIntensity( float );
49  float getCameraLightIntensity() const;
50 
51  Light* getDirectionalLight() const;
52 
53  PolygonOffset* getPolygonOffset() { return polygonoffset_; }
54  bool saveCurrentOffsetAsDefault() const;
55 
56  bool blockMouseSelection(bool yn);
59  Camera* getCamera() { return camera_; }
60  const Camera* getCamera() const { return camera_; }
61  virtual void setCamera(Camera*);
62 
63  EventCatcher& eventCatcher();
64 
65  int getUpdateQueueID() const {return updatequeueid_;}
66  int fixedIdx() const { return fixedidx_; }
67 
68  float getPolygonOffsetFactor() const;
69  float getPolygonOffsetUnits() const;
70 
71  void setName(const uiString&);
72 
75  //Trigges when we can ask quesitons about the context
76 
77  static const char* sKeyOffset() { return "Polygon offset"; }
78  static const char* sKeyFactor() { return "Factor"; }
79  static const char* sKeyUnits() { return "Units"; }
80  static const char* sKeyLight() { return "Light"; }
81 
82 protected:
83  virtual ~Scene();
85 
86  virtual void runUpdateQueueCB(CallBacker*);
87 
88  void fillOffsetPar( IOPar& ) const;
89 
90 private:
91 
94  int fixedidx_;
95 
96  void mousePickCB(CallBacker*);
97 
100 
102 
104 };
105 
106 }
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
keep osg camera status and render info
Definition: viscamera.h:27
int getUpdateQueueID() const
Definition: visscene.h:65
EventCatcher & events_
Definition: visscene.h:84
static Scene * create()
Definition: visscene.h:41
bool blockmousesel_
Definition: visscene.h:101
Definition: visdatagroup.h:24
int updatequeueid_
Definition: visscene.h:93
DataObject is the base class off all objects that are used in Visualization and ought to be shared in...
Definition: visdata.h:59
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:35
int fixedIdx() const
Definition: visscene.h:66
Definition: uistring.h:88
Camera * camera_
Definition: visscene.h:103
Class to help setup a callback handling.
Definition: notify.h:121
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Notifier< Scene > nameChanged
Definition: visscene.h:73
Class for all lights. More options are available in osg, but only what we currently need is implement...
Definition: vislight.h:32
int fixedidx_
Definition: visscene.h:94
Camera * getCamera()
Definition: visscene.h:59
Notifier< Scene > contextIsUp
Definition: visscene.h:74
PolygonOffset * polygonoffset_
Definition: visscene.h:98
Definition: visannot.h:40
int mousedownid_
Definition: visscene.h:92
Scene manages all DataObjects and has some managing functions such as the selection management and va...
Definition: visscene.h:38
static const char * sKeyFactor()
Definition: visscene.h:78
static const char * sKeyLight()
Definition: visscene.h:80
Open Scene Graph.
Definition: visannot.h:26
static const char * sKeyOffset()
Definition: visscene.h:77
#define mCreateDataObj(clss)
Definition: visdata.h:210
Light * light_
Definition: visscene.h:99
const Camera * getCamera() const
Definition: visscene.h:60
Definition: vispolygonoffset.h:22
static const char * sKeyUnits()
Definition: visscene.h:79
Definition: visevent.h:83

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017