13 #if !defined(_ciSensor_h_)
59 bool archive(std::ofstream &outf);
70 int serialize(
char *filepath);
92 bool parseXML(
clXML& xmlDocument);
102 bool loadXMLNode(
std::string tag,
char *nodeString);
130 bool loadXMLNode(
std::string tag,
double *nodeBool);
140 void saveXML(
clXML* xmlDocument);
149 int serializeCheck(
char *filepath);
175 virtual bool insert(
ciSensor sensor,
int idx = -1);
187 virtual bool remove(
int idx);
198 char *getName(
int idx = 0);
210 void setName(
const char *
name,
int idx = 0);
221 int getType(
int idx = 0);
222 SensorType getSensorType(
int idx = 0);
234 void setType(
int type,
int idx = 0);
235 void setSensorType(SensorType
type,
int idx = 0);
249 void setBandInfo(
double lowerBandLim,
double upperBandLim,
int nBands,
int idx = 0);
263 void setBandInfo(
double lowerBandLim,
double upperBandLim,
double dx,
int idx = 0);
277 void getBandInfo(
double &lowerBandLim,
double &upperBandLim,
int &nBands,
int idx = 0);
291 void getBandInfo(
double &lowerBandLim,
double &upperBandLim,
double &dx,
int idx = 0);
304 void setFOVDegrees(
double horz,
double vert,
int idx = 0);
317 void getFOVDegrees(
double &horz,
double &vert,
int idx = 0);
330 void setFOVPixels(
int horz,
int vert,
int idx = 0);
343 void getFOVPixels(
int &horz,
int &vert,
int idx = 0);
372 void setTemperatureLimits(
double tMax,
double tMin,
int idx = 0);
385 void getTemperatureLimits(
double &tMax,
double &tMin,
int idx = 0);
397 void setMaxLightLevel(
double maxLightLevel,
int idx = 0);
408 double getMaxLightLevel(
int idx = 0);
420 void setSaturationRatio(
double satRatio,
int idx = 0);
431 double getSaturationRatio(
int idx = 0);
442 char *getTrackfile(
int idx = 0);
454 void setTrackfile(
char *filename,
int idx = 0);
499 void setAutomaticRadiance(
bool flag,
int idx = 0);
507 bool getAutomaticRadiance(
int idx = 0);
516 void setDopplerColoring(
bool flag,
int idx = 0);
525 bool getDopplerColoring(
int idx = 0);
534 void setDopplerSpatialEffects(
bool flag,
int idx = 0);
543 bool getDopplerSpatialEffects(
int idx = 0);
555 void setGain(
double gain,
int idx = 0);
566 double getGain(
int idx = 0);
578 void setLevel(
double level,
int idx = 0);
589 double getLevel(
int idx = 0);
601 void setPemitterW(
double PemitterW,
int idx = 0);
612 double getPemitterW(
int idx = 0);
624 void setTransmitterGain(
double AntGain,
int idx = 0);
635 double getTransmitterGain(
int idx = 0);
647 void setReceiverGain(
double AntGain,
int idx = 0);
658 double getReceiverGain(
int idx = 0);
670 void setGainPattern(
int pattern,
int idx = 0);
681 int getGainPattern(
int idx);
694 void setFCemitterHz(
double FCemitterHz,
int idx = 0);
705 double getFCemitterHz(
int idx = 0);
717 void setBWemitterHz(
double BWemitterHz,
int idx = 0);
728 double getBWemitterHz(
int idx = 0);
740 void setChannelResolutionHz(
double ChannelResolutionHz,
int idx = 0);
751 double getChannelResolutionHz(
int idx = 0);
763 void setPulseWidth(
double PulseWidth,
int idx = 0);
774 double getPulseWidth(
int idx = 0);
786 void setPRF(
double PRF,
int idx = 0);
797 double getPRF(
int idx = 0);
809 void setNFPRF(
double PRF,
int idx = 0);
820 double getNFPRF(
int idx = 0);
832 void setTPolAngle(
double PolAngle,
int idx = 0);
843 double getTPolAngle(
int idx = 0);
855 void setRPolAngle(
double PolAngle,
int idx = 0);
866 double getRPolAngle(
int idx = 0);
878 void setSysTempK(
double degK,
int idx = 0);
889 double getSysTempK(
int idx);
901 void setBeamWidth(
double mrad,
int idx = 0);
912 double getBeamWidth(
int idx = 0);
916 void setFRDAngularVelocity(
double Yradpersec,
double Pradpersec,
double Rradpersec,
int idx = 0);
920 void getFRDAngularVelocity(
double &Yradpersec,
double &Pradpersec,
double &Rradpersec,
int idx = 0);
924 void setSpotfile(
char *filename,
int idx = 0);
928 char *getSpotfile(
int idx);
945 void setTAprops(
double ThreshDetect,
double ThreshClassify,
double ThreshRecognize,
double ThreshIdentify,
double PersistenceTime,
int idx = 0);
961 void getTAprops(
double &ThreshDetect,
double &ThreshClassify,
double &ThreshRecognize,
double &ThreshIdentify,
double &PersistenceTime,
int idx = 0);
973 void setUseTrackfile(
bool useTrackfile,
int idx = 0);
984 bool getUseTrackfile(
int idx = 0);
995 void setWorldPosition(
double x,
double y,
double z,
int i = 0);
1006 void getWorldPosition(
double&
x,
double&
y,
double&
z,
int i = 0);
1020 void setGeodeticPosition(
double latitude,
double longitude,
double altitude,
int idx = 0);
1034 void getGeodeticPosition(
double &latitude,
double &longitude,
double &altitude,
int idx = 0);
1048 void setNEDOrientation(
double heading,
double pitch,
double roll,
int idx = 0);
1062 void getNEDOrientation(
double &heading,
double &pitch,
double &roll,
int idx = 0);
1076 void setNEDLinearVelocity(
double n,
double e,
double d,
int idx = 0);
1090 void getNEDLinearVelocity(
double &
n,
double &
e,
double &d,
int idx = 0);
1102 void SetActive(
bool isActive,
int idx = 0);
1113 bool GetActive(
int idx = 0);
1128 int getRGBColor(
int idx = 0) {
return m_sensorList[idx].m_sensorRGBColor; }
1136 void setSarReprojection(
bool flag,
int idx = 0);
1144 bool getSarReprojection(
int idx = 0);
1147 void setSarBoresightROI(
double x,
double y,
double width,
double height,
int idx = 0);
1148 void getSarBoresightROI(
double &
x,
double &
y,
double &
width,
double &
height,
int idx = 0);
1149 void setSarIntegrationPathlength(
double length,
int idx = 0);
1150 void getSarIntegrationPathlength(
double &
length,
int idx = 0);
1151 void setSarShadowOrientationDown(
bool flag,
int idx = 0);
1152 bool getSarShadowOrientationDown(
int idx = 0);
1153 void setIsarIntegrationTime(
double time,
int idx = 0);
1154 void getIsarIntegrationTime(
double &time,
int idx = 0);
1156 void setIntensityModulationGain(
double imodGain,
int idx = 0);
1157 double getIntensityModulationGain(
int idx = 0);
1166 void setMtiRadarReturn(
bool flag,
int idx = 0);
1174 bool getMtiRadarReturn(
int idx = 0);
1195 void setMinWedgeExtent(
double angle,
int idx = 0 )
1197 if( angle >= -360.0 && angle < m_sensorList[idx].maxWedgeExtent && angle < 360.0 )
1198 m_sensorList[idx].minWedgeExtent =
angle;
1220 void setMaxWedgeExtent(
double angle,
int idx = 0 )
1222 if( angle > -360.0 && angle > m_sensorList[idx].minWedgeExtent && angle <= 360.0 )
1223 m_sensorList[idx].maxWedgeExtent =
angle;
1252 void enableBacksweep(
bool backsweep,
int idx = 0 ){ m_sensorList[idx].enableBacksweep = backsweep; }
1256 void showOtwView(
bool show,
int idx = 0 ){ m_sensorList[idx].showOtwView = show; }
1267 void setSensorOptics(
ciOptics optics,
int idx = 0);
1275 ciOptics &getSensorOptics(
int idx = 0);
1283 void setSensorElectronics(
ciElectronics electronics,
int idx = 0);
1299 void setSensorDetector(
ciDetector detector,
int idx = 0);
1315 void setSensorSenSim(
ciSenSim senSim,
int idx = 0);
1323 ciSenSim &getSensorSenSim(
int idx = 0);
1425 char trackFilepath[512];
1462 char spotFilepath[512];
1505 #endif // _ciSensor_h_