VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtSenSim.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvSenSim/vrvSenSim.h>
13 
14 #include <GL/glew.h>
15 
16 #include <osg/Camera>
17 
18 class seSenSim;
19 
20 namespace makVrv
21 {
22  class DtOsgChannel;
23 
24  // Internal utility class to manage SenSim instances per channel/window
25  // Mostly adapted from JRM sample code
26  class DtSenSim
27  {
28  public:
29  //constructor
30  DtSenSim(DtOsgChannel& channel);
31 
32  //destructor
33  ~DtSenSim();
34 
36  void setPostDrawCamera( osg::Camera::DrawCallback* camera);
37  osg::Camera::DrawCallback* postDrawCamera() const;
39 
40  // initialize to default values
41  bool init_sensim(int win_w, int win_h);
42 
47  void applySensorEffects(int win_w, int win_h, GLuint inputTextureId);
48 
49  // resize the area of the frame buffer that SenSim is applied to
50  void resize(int win_w, int win_h);
51 
52  // percentage of the frame size SenSim is using; should be set to 1.0 always
54 
55  //@name Setters for SenSim attributes
57  void toggleHalo(bool val);
58  void toggleIr(bool val);
59  void toggleFilter(bool val);
60  void toggleGain(bool val);
61  void toggleBlur(bool val);
62  void toggleNoise(bool val);
63  void toggleIrPolarity(bool val);
64  void setGain(float gain);
65  void setLevel(float level);
66  void setFilter(float filter);
67  void setBlur(float blur);
68  void setNoise(float noise);
69  void setFullColor(bool fullColor);
70  void setSampling(float sampling);
72 
73  // Update SenSim rendering according to the current attribute state
74  //
75  // Must be called before changes made in the above setters take effect
76  void updateSettings();
77 
78  private:
79 
80  seSenSim *m_sensorEffects; //pointer to seSenSim object used for changing SenSim settings
81  bool m_filterOn;//is the filter on 'F'
82  bool m_noiseOn;//is noise on 'N'
83  bool m_blurOn;//is blur on
84  bool m_haloOn;//is halo on 'H'
85  bool m_agcOn;//is automatic gain control on 'A'
86  bool m_gainOn;
87  bool m_blackHotOn;//is polarity control on 'P'
88  bool m_IRsensorOn;//is ir/nvg sensor control on 'I'
90  float m_blurLevel;
91  int m_height;
92  int m_width;
94  osg::Camera::DrawCallback* myCameraCallback;
95  };
96 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)