12 #ifndef _ssMaterialSet_
13 #define _ssMaterialSet_
59 char materialName[256];
150 float *getResponseData(
ssSensor *sensor,
unsigned int &numMaterials,
unsigned int &numBins,
unsigned int &numParameters);
162 float *getBRDFResponseData(
ssSensor *sensor,
unsigned int &numMaterials,
unsigned int &numBins,
unsigned int &numParameters);
174 float *getPhongResponseData(
ssSensor *sensor,
unsigned int &numMaterials,
unsigned int &numBins,
unsigned int &numParameters);
186 float *getSandfordRobertsonResponseData(
ssSensor *sensor,
unsigned int &numMaterials,
unsigned int &numBins,
unsigned int &numParameters);
198 float *getRadarResponseData(
ssSensor *sensor,
unsigned int &numMaterials,
unsigned int &numBins,
unsigned int &numParameters);
210 float *getVisualData(
unsigned int &numMaterials,
ssSensor *sensor);
241 void getBRDFMaterialResponse(
ssSensor *sensor,
unsigned int matCode,
float &ambient,
float &emission,
float &cosEmission);
259 void getPhongMaterialResponse(
ssSensor *sensor,
unsigned int matCode,
260 float &ambient,
float &emission,
float &cosEmission);
277 void getSanfordRobertson(
ssSensor *sensor,
unsigned int matCode,
float &reflectance,
float &lobeWidth,
float &emissivity,
float &grazingB) ;
298 unsigned int getNumberResponses();
306 unsigned int getNumberResponseValues();
328 void getEmatEmission(
double &baseEmission,
double &cosEmission,
double &twoSideFlag,
double &absorbRatio,
ssSensor *sensor,
unsigned int index);
336 int getEmatIndex(
unsigned int ematIndex);
350 bool setThermalSpinUpTime(
double spinUp);
358 double getThermalSpinUpTime();
370 void setFullResponseEnable(
bool flag);
378 bool getFullResponseEnable();
388 void setIncludeEmissivity(
bool flag);
396 bool getIncludeEmissivity();
404 double getMaximumTemperature();
412 double getMinimumTemperature();
420 unsigned int getNumberTemperatures();
428 void setNumberTemperatures(
unsigned int n);
436 void setAutoRadianceScale(
bool flag);
446 bool isAutoRadianceScale();
455 double getAverageAbsorbRatio();
464 double getAverageTwoSidedFlag();
473 double getAverageConductionFactor();
484 void setAbsorbRatio(
double absorbRatio);
493 double getAbsorbRatio();
504 void setTwoSidedFlag(
double twoSidedFlag);
513 double getTwoSidedFlag();
523 void setAppendLightData(
bool flag);
533 bool isAppendLightData();
550 void setEmatType(
bool flag);
558 void setNumberEMats(
unsigned int numEmats);
566 unsigned int getNumberEMats();
591 bool isUsingSimpleGpuFactor();
600 void setUseSimpleGpuFactor(
bool flag);
616 void forceCacheUpdate();
624 bool getUseInstance();
631 void setUseInstance(
bool flag);
638 void initActiveRegions(
bool loadFile =
true);
662 bool setActiveRegion(
unsigned int index,
bool activeFlag);
671 bool sendActiveRegionImpulse(
unsigned int index);
679 int getActiveRegionImpulseCount(
unsigned int index);
687 double getActiveRegionImpulseDeltaTime(
unsigned int index);
696 bool getActiveRegion(
unsigned int index);
705 int getNumberActiveRegions();
714 char *getActiveRegionName(
int index);
724 bool hasActiveRegionsFile(
char *msName = NULL);
739 float *getRCSData(
ssSensor *sensor,
unsigned int &numBins,
unsigned int &
x,
unsigned int &
y);
743 float *getRCSData(
ssSensor *sensor,
unsigned int &numBins,
unsigned int &
x,
unsigned int &
y,
unsigned int &
z);
753 void setNumberRCSangle(
unsigned int angles);
762 unsigned int getNumberRCSangle();
771 bool hasIntensityModulationFile();
779 bool loadIntensityModulationFile();
787 void writeIntensityModulationFile();
801 void setIntensityModulationParameters(
double visAvg,
double NVGGain,
double IRGain,
double RFGain,
int index);
817 void getIntensityModulationParameters(
double &visAvg,
double &NVGGain,
double &FLIRGain,
double &RFGain,
int index);
825 const char *getMSfilename();
831 void setImmediateActiveRegionUpdate(
bool flag);
837 bool getImmediateActiveRegionUpdate();
845 bool isMarkedDelete();
854 void setMarkedDelete(
bool flag);
885 bool insertMaterialTable(
ssSensor *sensor);
888 bool insertBRDFMaterialTable(
ssSensor *sensor);
890 bool insertPhongMaterialTable(
ssSensor *sensor);
891 bool insertSRMaterialTable(
ssSensor *sensor);
893 bool insertRadarMaterialTable(
ssSensor *sensor);
933 bool dynamicThermalSpinUp(
ssEnvironment *env,
float deltaTime);
954 void computeBaseAndLoadedRadiances(
ssTemperature inTemp,
double ax,
955 double bx,
double emissivity,
ssEmission &emission);
1006 bool compareFloat(
float float1,
float float2);
1016 void loadActiveRegionsFile();
1088 struct Implementation;
1096 #endif // _ssMaterialSet_