OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 
17 #include "color.h"
18 #include "sets.h"
19 #include "visdatagroup.h"
20 
23 namespace osg { class Group; }
24 
25 namespace visBase
26 {
27  class SelectionManager;
28  class EventCatcher;
29  class PolygonOffset;
30  class Light;
31  class Camera;
32 
40 {
41 public:
42  static Scene* create()
44 
45  void addObject(DataObject*);
46 
47  void setBackgroundColor(const Color&);
48  Color getBackgroundColor() const;
49  void setCameraAmbientLight(float);
50  float getCameraAmbientLight() const;
51  void setCameraLightIntensity( float );
52  float getCameraLightIntensity() const;
53 
54  Light* getDirectionalLight() const;
55 
56  PolygonOffset* getPolygonOffset() { return polygonoffset_; }
58 
59  bool blockMouseSelection(bool yn);
62  Camera* getCamera() { return camera_; }
63  const Camera* getCamera() const { return camera_; }
64  virtual void setCamera(Camera*);
65 
67 
68  int getUpdateQueueID() const {return updatequeueid_;}
69  int fixedIdx() const { return fixedidx_; }
70 
71  float getPolygonOffsetFactor() const;
72  float getPolygonOffsetUnits() const;
73 
74  void setName(const char*) override;
75 
78  //Trigges when we can ask quesitons about the context
79 
80  static const char* sKeyOffset() { return "Polygon offset"; }
81  static const char* sKeyFactor() { return "Factor"; }
82  static const char* sKeyUnits() { return "Units"; }
83  static const char* sKeyLight() { return "Light"; }
84 
85 protected:
86  virtual ~Scene();
88 
89  virtual void runUpdateQueueCB(CallBacker*);
90 
91  void fillOffsetPar( IOPar& ) const;
92 
93 private:
94 
97  int fixedidx_;
98 
100 
103 
105  osg::Group* osgsceneroot_;
106 
108 };
109 
110 }
111 
visBase::Scene::getCamera
Camera * getCamera()
Definition: visscene.h:62
visBase::Scene::sKeyLight
static const char * sKeyLight()
Definition: visscene.h:83
visBase::Scene::fixedidx_
int fixedidx_
Definition: visscene.h:97
visBase::Scene::camera_
Camera * camera_
Definition: visscene.h:107
visBase
Definition: visannot.h:43
visBase::Scene::getCamera
const Camera * getCamera() const
Definition: visscene.h:63
visBase::Scene::sKeyFactor
static const char * sKeyFactor()
Definition: visscene.h:81
visBase::Scene::osgsceneroot_
osg::Group * osgsceneroot_
Definition: visscene.h:105
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visBase::Scene::sKeyOffset
static const char * sKeyOffset()
Definition: visscene.h:80
osg
Open Scene Graph.
Definition: visannot.h:29
visBase::DataObject
DataObject is the base class off all objects that are used in Visualization and ought to be shared in...
Definition: visdata.h:63
visBase::Scene::nameChanged
Notifier< Scene > nameChanged
Definition: visscene.h:76
visBase::Scene::fixedIdx
int fixedIdx() const
Definition: visscene.h:69
visBase::EventCatcher
Definition: visevent.h:87
visBase::Scene::light_
Light * light_
Definition: visscene.h:102
visBase::Scene::fillOffsetPar
void fillOffsetPar(IOPar &) const
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visBase::Scene::saveCurrentOffsetAsDefault
bool saveCurrentOffsetAsDefault() const
visBase::Scene::blockmousesel_
bool blockmousesel_
Definition: visscene.h:104
visBase::DataObjectGroup
Definition: visdatagroup.h:27
visBase::Scene::getUpdateQueueID
int getUpdateQueueID() const
Definition: visscene.h:68
visBase::Scene::blockMouseSelection
bool blockMouseSelection(bool yn)
visBase::Scene::events_
EventCatcher & events_
Definition: visscene.h:87
visBase::Scene::sKeyUnits
static const char * sKeyUnits()
Definition: visscene.h:82
visBase::Scene::create
static Scene * create()
Definition: visscene.h:42
visBase::Scene::~Scene
virtual ~Scene()
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
visBase::Scene::getPolygonOffsetUnits
float getPolygonOffsetUnits() const
visBase::Scene::setName
void setName(const char *) override
visBase::Scene::runUpdateQueueCB
virtual void runUpdateQueueCB(CallBacker *)
visBase::PolygonOffset
Definition: vispolygonoffset.h:25
visBase::Scene::getPolygonOffsetFactor
float getPolygonOffsetFactor() const
visBase::Scene::eventCatcher
EventCatcher & eventCatcher()
visBase::Scene::contextIsUp
Notifier< Scene > contextIsUp
Definition: visscene.h:77
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
visBase::Camera
keep osg camera status and render info
Definition: viscamera.h:30
visBase::Scene::updatequeueid_
int updatequeueid_
Definition: visscene.h:96
visBase::Scene::polygonoffset_
PolygonOffset * polygonoffset_
Definition: visscene.h:101
color.h
visBase::Scene::mousedownid_
int mousedownid_
Definition: visscene.h:95
sets.h
visdatagroup.h
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visBase::Light
Class for all lights. More options are available in osg, but only what we currently need is implement...
Definition: vislight.h:35
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visBase::Scene
Scene manages all DataObjects and has some managing functions such as the selection management and va...
Definition: visscene.h:40
visBase::Scene::setCamera
virtual void setCamera(Camera *)
visBase::Scene::mousePickCB
void mousePickCB(CallBacker *)

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