VR-Vantage 3.0.3 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
seElectronics.h
Go to the documentation of this file.
1 
2 // Copyright JRM Enterprises, Inc. 2004
3 // All rights reserved.
4 //
5 // This code is the intellectual property of JRM Enterprises, Inc.
6 // It may not be used or released as source or compiled binary form
7 // without the prior written consent of JRM Enterprises, Inc.
8 //
9 // Original Author: Ken George Date: Oct 2004
11 #ifndef _seElectronics_
12 #define _seElectronics_
13 
14 //#include "seIncAll.h"
15 
16 #include "sedllexport.h"
17 
25 {
26 public:
32  typedef enum { Undefined_ColorMap = -1,
33  UserDefined_ColorMap = 0,
34  LADAR_ColorMap = 1,
35  NVG_ColorMap = 2,
36  RG16_ColorMap = 3,
37  LogScale_ColorMap = 4,
38  UserDefinedRG_ColorMap = 5
39  } ColorMapType ;
40 
41 
42 public:
43 
45  //seElectronics
49  seElectronics();
50 
52  //seElectronics
56  ~seElectronics();
57 
58 
60  //loadDefaults
64  void loadDefaults();
65 
66 
68  //setFrameRate
74  void setFrameRate(const double rate) {
75  if (m_frameRate != rate) {
76  m_frameRate = rate;
77  setDirty();
78  }
79  }
80 
82  //getFrameRate
88  double getFrameRate(){return m_frameRate;}
89 
90 
92  //setPostCutoffFreq
100  void setPostCutoffFreq(const double freq) {
101  if (m_postCutoffFreq != freq) {
102  m_postCutoffFreq = freq;
103  setDirty();
104  }
105  }
106 
108  //getPostCutoffFreq
116  double getPostCutoffFreq(){return m_postCutoffFreq;}
117 
118 
120  //setPreCutonFreq
128  void setPreCutonFreq(const double freq) {
129  if (m_preCutonFreq != freq) {
130  m_preCutonFreq = freq;
131  setDirty();
132  }
133  }
134 
136  //getPreCutonFreq
144  double getPreCutonFreq(){return m_preCutonFreq;}
145 
146 
148  //setManualGain
153  void setManualGain(const double gain) {
154  m_manualGain = gain;
155  }
156 
158  //getManualGain
163  double getManualGain(){return m_manualGain;}
164 
165 
167  //setManualLevel
172  void setManualLevel(const double level) {
173  m_manualLevel = level;
174  }
175 
177  //getManualLevel
182  double getManualLevel(){return m_manualLevel;}
183 
185  //setPreGain
190  void setPreGain(const double gain) {
191  m_preGain = gain;
192  }
193 
195  //getPreGain
200  double getPreGain(){return m_preGain;}
201 
202 
204  //setPreLevel
209  void setPreLevel(const double level) {
210  m_preLevel = level;
211  }
212 
214  //getPreLevel
219  double getPreLevel(){return m_preLevel;}
220 
222  //setAGCMaxGain
227  void setAGCMaxGain(const double gain) {
228  m_AGCMaxGain = gain;
229  }
230 
232  //getAGCMaxGain
237  double getAGCMaxGain(){return m_AGCMaxGain;}
238 
240  //setAGCMinGain
245  void setAGCMinGain(const double gain) {
246  m_AGCMinGain = gain;
247  }
248 
250  //getAGCMinGain
255  double getAGCMinGain(){return m_AGCMinGain;}
256 
258  //setMaxRadiance
265  void setMaxRadiance(const double maxRad) {
266  m_maxRadiance = maxRad;
267  }
268 
270  //getMaxRadiance
276  double getMaxRadiance(){return m_maxRadiance;}
277 
279  //setMinRadiance
286  void setMinRadiance(const double minRad) {
287  m_minRadiance = minRad;
288  }
289 
291  //getMinRadiance
297  double getMinRadiance(){return m_minRadiance;}
298 
300  //setMaxLutRadiance
307  void setMaxLutRadiance(const double maxLutRad) {
308  m_maxLutRadiance = maxLutRad;
309  }
310 
312  //getMaxLutRadiance
318  double getMaxLutRadiance(){return m_maxLutRadiance;}
319 
321  //setMinRadiance
328  void setMinLutRadiance(const double minLutRad) {
329  m_minLutRadiance = minLutRad;
330  }
331 
333  //getMinLutRadiance
339  double getMinLutRadiance(){return m_minLutRadiance;}
340 
342  //setLogScaleEnable
347  void setLogScaleEnable(const bool flag) {
348  m_logScaleEnable = flag;
349  }
350 
352  //isLogScaleEnable
357  bool isLogScaleEnable(){return m_logScaleEnable;}
358 
360  //setBlackHotEnable
365  void setBlackHotEnable(const bool flag) {
366  m_enableBlackHot = flag;
367  }
368 
370  //isBlackHotEnable
375  bool isBlackHotEnable(){return m_enableBlackHot;}
376 
378  //setGainEnable
383  void setGainEnable(const bool flag) {
384  m_gainEnable = flag;
385  }
386 
388  //isGainEnable
393  bool isGainEnable(){return m_gainEnable;}
394 
395 
397  //setInternalGainEnable
403  void setInternalGainEnable(const bool flag) {
404  m_internalGainEnable = flag;
405  }
406 
408  //isInternalGainEnable
414  bool isInternalGainEnable(){return m_internalGainEnable;}
415 
416 
418  //setACcouplingEnable
423  void setACcouplingEnable(const bool flag) {
424  m_ACcouplingEnable = flag;
425  }
426 
428  //isACcouplingEnable
433  bool isACcouplingEnable(){return m_ACcouplingEnable;}
434 
435 
437  //setAGCEnable
442  void setAGCEnable(const bool flag) {
443  m_AGCEnable = flag;
444  }
445 
447  //isAGCEnable
452  bool isAGCEnable(){return m_AGCEnable;}
453 
455  //setGainAdjustment
461  void setGainAdjustment(double adjustment) {
462  if (adjustment > 0.0)
463  m_gainAdjustment = adjustment;
464  else
465  m_gainAdjustment = 0.01;
466  }
468  //getGainAdjustment
474  double getGainAdjustment(){return m_gainAdjustment;}
475 
477  //setLevelAdjustment
483  void setLevelAdjustment(double adjustment) {
484  m_levelAdjustment = adjustment;
485  }
487  //getLevelAdjustment
493  double getLevelAdjustment(){return m_levelAdjustment;}
494 
495 
497  //setNumDisplayPixels
503  void setNumDisplayPixels(const long width, const long height) {
504  if ((m_displayWidth != width) ||
505  (m_displayHeight != height)) {
506  m_displayWidth = width;
507  m_displayHeight = height;
508  setDirty();
509  }
510  }
511 
513  //getNumDisplayPixels
519  void getNumDisplayPixels(long &width, long &height){
520  width = m_displayWidth;
521  height = m_displayHeight;
522  }
523 
525  //setDisplayOffset
535  void setDisplayOffset(const long offsetX, const long offsetY, bool clearBuffer=true) {
536  if ((m_displayOffsetX != offsetX) ||
537  (m_displayOffsetY != offsetY) ||
538  (m_clearBufferFlag != clearBuffer)) {
539  m_displayOffsetX = offsetX;
540  m_displayOffsetY = offsetY;
541  m_clearBufferFlag = clearBuffer;
542  setDirty();
543  }
544  }
545 
547  //getDisplayOffset
555  void getDisplayOffset(long &offsetX, long &offsetY, bool &clearBuffer){
556  offsetX = m_displayOffsetX;
557  offsetY = m_displayOffsetY;
558  clearBuffer = m_clearBufferFlag;
559  }
560 
562  //getDisplayOffset
569  void getDisplayOffset(long &offsetX, long &offsetY){
570  offsetX = m_displayOffsetX;
571  offsetY = m_displayOffsetY;
572  }
573 
575  //isDirty
580  bool isDirty() {return m_dirty;}
581 
583  //setDirty
587  void setDirty() {m_dirty = true;}
589  //clrDirty
593  void clrDirty() {m_dirty = false;}
594 
596  //setColorMapType
601  void setColorMapType(ColorMapType newColorMapType) {
602  if (m_currentColorMapType != newColorMapType) {
603  m_currentColorMapType = newColorMapType;
604  setDirty();
605  }
606  }
607 
609  //getColorMapType
614  ColorMapType getColorMapType() { return m_currentColorMapType; }
615 
617  //setColorMapEnable
622  void setColorMapEnable(const bool flag) {
623  m_colorMapEnable = flag;
624  }
625 
627  //isColorMapEnable
632  bool isColorMapEnable() { return m_colorMapEnable; }
633 
635  //setFullColorOutputEnable
640  void setFullColorOutputEnable(const bool flag) {
641  m_fullColorOutputEnable = flag;
642  }
643 
645  //isFullColorOutputEnable
650  bool isFullColorOutputEnable() { return m_fullColorOutputEnable; }
651 
653  // loadUserDefinedRadianceLUT
657  bool loadUserDefinedRadianceLUT(char *filename);
658 
660  // getColorMapUserDefinedRadFile
664  char* getColorMapUserDefinedRadFile();
665 
667  // setColorMapUserDefinedRadFile
671  void setColorMapUserDefinedRadFile(const char* filepath);
672 
674  // loadColorMap
678  void loadColorMap(unsigned int *textureId);
679 
681  // loadHistogramEqualizationMap
685  void loadHistogramEqualizationMap(unsigned int *textureId, float *mapData, int size);
686 
687 private:
688 
690  double m_frameRate;
696  double m_manualGain;
700  double m_preGain;
702  double m_preLevel;
704  double m_AGCMaxGain;
706  double m_AGCMinGain;
742  bool m_dirty;
743 
749  char m_colorMapUserDefinedRadFile[512];
751  unsigned int m_ColorMapSize;
756 
759 
760 };
761 
762 #endif /* _seElectronics_ */


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