OpendTect  6.6
viscamera.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: Kristofer Tingdahl
8  Date: 4-11-2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "visdata.h"
17 #include "position.h"
18 namespace osg { class Camera; class RenderInfo; }
19 
20 namespace visBase
21 {
22 
23 class DrawCallback;
24 
30 {
31 public:
32 
33  static Camera* create()
35 
36  osg::Camera* osgCamera() const;
37  Color getBackgroundColor() const;
38  Coord3 getTranslation() const;
39  Coord3 getScale() const;
40  void getRotation(Coord3& vec,double& angle)const;
41  void getLookAtMatrix(Coord3&,Coord3&,Coord3&)const;
42 
43  void setBackgroundColor(const Color&);
44 
45  Notifier<Camera> preDraw;
46  Notifier<Camera> postDraw;
47 
48  const osg::RenderInfo* getRenderInfo() const { return renderinfo_; }
50 
51 private:
52  friend class DrawCallback;
53 
54  void triggerDrawCallBack(const DrawCallback*,
55  const osg::RenderInfo&);
56 
57  virtual ~Camera();
58 
59  osg::Camera* camera_;
60  const osg::RenderInfo* renderinfo_;
61  DrawCallback* predraw_;
62  DrawCallback* postdraw_;
63 
64 };
65 
66 
67 };
68 
69 
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visBase::Camera::predraw_
DrawCallback * predraw_
Definition: viscamera.h:61
visBase
Definition: visannot.h:43
visBase::Camera::triggerDrawCallBack
void triggerDrawCallBack(const DrawCallback *, const osg::RenderInfo &)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visBase::Camera::~Camera
virtual ~Camera()
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::Camera::create
static Camera * create()
Definition: viscamera.h:33
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
visBase::Camera::postdraw_
DrawCallback * postdraw_
Definition: viscamera.h:62
position.h
visdata.h
visBase::Camera::renderinfo_
const osg::RenderInfo * renderinfo_
Definition: viscamera.h:60
visBase::Camera::camera_
osg::Camera * camera_
Definition: viscamera.h:59
mCreateDataObj
#define mCreateDataObj(clss)
Definition: visdata.h:214
visBase::Camera
keep osg camera status and render info
Definition: viscamera.h:30
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26

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