VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
seOptics.h
Go to the documentation of this file.
1 
3 // Copyright JRM Enterprises, Inc. 2004
4 // All rights reserved.
5 //
6 // This code is the intellectual property of JRM Enterprises, Inc.
7 // It may not be used or released as source or compiled binary form
8 // without the prior written consent of JRM Enterprises, Inc.
9 //
10 // Original Author: Ken George Date: October 2004
12 
13 #ifndef _seOptics_
14 #define _seOptics_
15 
16 //#include "seIncAll.h"
17 #include "sedllexport.h"
18 
20 // class: seOptics
21 //
24 //
26 {
27 public:
28 
34  enum shapeType {
35  Circular = 0,
36  Rectangular = 1,
37  };
38 
39 
41  // seOptics
45  seOptics();
46 
48  //seOptics
52  ~seOptics();
53 
54 
56  //loadDefaults
60  void loadDefaults();
61 
62 
64  //setApertureWidth
69  void setApertureWidth(const double dim) {
70  if (m_apertureWidth != dim) {
71  if (dim < 0.0000001) // aperture can't be zero
72  m_apertureWidth = 0.0000001;
73  else
74  m_apertureWidth = dim;
75  setDirty();
76  }
77  }
78 
80  //getApertureWidth
85  double getApertureWidth(){return m_apertureWidth;}
86 
87 
89  //setApertureShape
95  if (m_apertureShape != shape) {
96  m_apertureShape = shape;
97  setDirty();
98  }
99  }
100 
102  //getApertureShape
107  shapeType getApertureShape(){return m_apertureShape;}
108 
109 
111  //setApertureAspectRatio
116  void setApertureAspectRatio(const double ratio) {
117  if (m_apertureAspectRatio != ratio) {
118  m_apertureAspectRatio = ratio;
119  setDirty();
120  }
121  }
122 
124  //getApertureAspectRatio
129  double getApertureAspectRatio(){return m_apertureAspectRatio;}
130 
131 
133  //setBlurSpotDiameter
138  void setBlurSpotDiameter (const double size) {
139  if (m_blurSpotDiameter != size) {
140  m_blurSpotDiameter = size;
141  setDirty();
142  }
143  }
144 
146  //getBlurSpotDiameter
151  double getBlurSpotDiameter(){return m_blurSpotDiameter;}
152 
153 
155  //setFOVdegs
161  void setFOVdegs(const double horzFov, const double vertFov) {
162  if ((m_horizontalFov != horzFov) ||
163  (m_verticalFov != vertFov)) {
164  m_horizontalFov = horzFov;
165  m_verticalFov = vertFov;
166  setDirty();
167  }
168  }
169 
170 
172  //getFOVdegs
178  void getFOVdegs(double &horzFov, double &vertFov){
179  horzFov = m_horizontalFov;
180  vertFov = m_verticalFov;
181  }
182 
183 
185  //setMtfMotionBlurSize
192  void setMtfMotionBlurSize (const double size) {
193  if (m_mtfMotionBlurSize != size) {
194  m_mtfMotionBlurSize = size;
195  setDirty();
196  }
197  }
198 
200  //getMtfMotionBlurSize
207  double getMtfMotionBlurSize(){return m_mtfMotionBlurSize;}
208 
210  //setLensTransmittance
215  void setLensTransmittance (const double transmittance) {
216  if (m_lensTransmittance != transmittance) {
217  m_lensTransmittance = transmittance;
218  setDirty();
219  }
220  }
221 
223  //getLensTransmittance
228  double getLensTransmittance(){return m_lensTransmittance;}
229 
230 
232  //setFilterEnable
237  void setFilterEnable(const bool flag) {
238  m_filterEnable = flag;
239  }
240 
242  //isFilterEnable
247  bool isFilterEnable(){return m_filterEnable;}
248 
250  //setOptimizedFilterEnable
255  void setOptimizedFilterEnable(const bool flag) {
256  if (m_optimizedFilterEnable != flag) {
257  m_optimizedFilterEnable = flag;
258  setDirty();
259  }
260  }
261 
263  //isOptimizedFilterEnable
268  bool isOptimizedFilterEnable(){return m_optimizedFilterEnable;}
269 
271  //setFilterAdjustment
277  void setFilterAdjustment(double adjustment) {
278  m_filterAdjustment = adjustment;
279  }
281  //getFilterAdjustment
287  double getFilterAdjustment(){return m_filterAdjustment;}
288 
290  //setHaloEnable
295  void setHaloEnable(const bool flag) {
296  m_haloEnable = flag;
297  }
298 
300  //isHaloEnable
305  bool isHaloEnable(){return m_haloEnable;}
306 
307 
309  //setHaloThreshold
314  void setHaloThreshold (const double value) {
315  m_haloThreshold = value;
316  }
317 
319  //getHaloThreshold
324  double getHaloThreshold(){return m_haloThreshold;}
325 
326 
328  //setHaloRadius
333  void setHaloRadius (const double value) {
334  m_haloRadius = value;
335  }
336 
338  //getHaloRadius
343  double getHaloRadius(){return m_haloRadius;}
344 
345 
347  //setHaloIntensity
352  void setHaloIntensity (const double intensity) {
353  m_haloIntensity = intensity;
354  }
355 
357  //getHaloIntensity
362  double getHaloIntensity(){return m_haloIntensity;}
363 
365  //setHaloThresholdAdjustment
371  void setHaloThresholdAdjustment(double threshold) {
372  m_haloThresholdAdjustment = threshold;
373  }
374 
376  //getHaloThresholdAdjustment
382  double getHaloThresholdAdjustment(){return m_haloThresholdAdjustment;}
383 
385  //setUserDefinedMTFenable
391  void setUserDefinedMTFenable(bool enable) { m_userDefinedMTFenable = enable; }
392 
394  //getUserDefinedMTFenable
398  bool getUserDefinedMTFenable() { return m_userDefinedMTFenable; }
399 
401  //setUserDefinedMTFfilename
402  //
414  void setUserDefinedMTFfilename(char* filename);
415 
417  //getUserDefinedMTFfilename
423  char * getUserDefinedMTFfilename() { return m_userDefinedMTFfilename; }
424 
426  //isDirty
431  bool isDirty() {return m_dirty;}
432 
434  //setDirty
438  void setDirty() {m_dirty = true;}
439 
441  //clrDirty
445  void clrDirty() {m_dirty = false;}
446 
447 private:
448 
468  // Halo parameters
474  double m_haloRadius;
479 
483  char m_userDefinedMTFfilename[512];
484 
485 
486  bool m_dirty;
487 };
488 
489 
490 #endif // _seOptics_


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)