13 #ifndef _ssMaterialProperties_
14 #define _ssMaterialProperties_
21 #ifndef NEIGENMATERIALS
22 #define NEIGENMATERIALS 6
37 using MaterialSystemTablePtrType = std::shared_ptr<MATL_PROP_TABLE>;
60 void setMaterialSystemFileName(
char *
name);
69 void setSigSimDataDirectory(
char *name);
77 void setSigSimCacheDirectory(
char *name);
101 unsigned int getNumberMaterials();
111 unsigned int getNumberLayers(
unsigned int materialIndex);
120 unsigned int getNumberWavelengths(
unsigned int materialIndex);
129 char *getMaterialName(
unsigned int materialIndex);
139 void setMaterialName(
unsigned int materialIndex,
char *matName);
149 double getIntensityModulationScalarParameter(
unsigned int material,
bool visualBand);
160 bool getAltitude (
unsigned int materialIndex,
double &altitude);
170 void setAltitude (
unsigned int materialIndex,
double altitude);
180 bool getShadowFlag (
unsigned int materialIndex,
double &shadow);
190 void setShadowFlag (
unsigned int materialIndex,
double shadow);
206 bool getUpperBoundaryConditionType (
unsigned int materialIndex,
unsigned int &boundaryConditionType);
222 void setUpperBoundaryConditionType (
unsigned int materialIndex,
unsigned int boundaryConditionType);
232 const char *getUpperBoundaryConditionType (
unsigned int materialIndex);
242 bool getUpperBoundaryTemperature (
unsigned int materialIndex,
double &temperature);
252 bool setUpperBoundaryTemperature (
unsigned int materialIndex,
double temperature);
262 bool getUpperBoundaryWindSpeed (
unsigned int materialIndex,
double &windSpeed);
272 bool setUpperBoundaryWindSpeed (
unsigned int materialIndex,
double windSpeed);
282 bool getUpperBoundaryHeatLoad (
unsigned int materialIndex,
double &heatLoad);
292 bool setUpperBoundaryHeatLoad (
unsigned int materialIndex,
double heatLoad);
309 bool getLowerBoundaryConditionType (
unsigned int materialIndex,
unsigned int &boundaryConditionType);
325 void setLowerBoundaryConditionType (
unsigned int materialIndex,
unsigned int boundaryConditionType);
334 const char *getLowerBoundaryConditionType (
unsigned int materialIndex);
344 bool getLowerBoundaryTemperature (
unsigned int materialIndex,
double &temperature);
354 bool setLowerBoundaryTemperature (
unsigned int materialIndex,
double temperature);
364 bool getLowerBoundaryWindSpeed (
unsigned int materialIndex,
double &windSpeed);
374 bool setLowerBoundaryWindSpeed (
unsigned int materialIndex,
double windSpeed);
385 bool getLowerBoundaryHeatLoad (
unsigned int materialIndex,
double &heatLoad);
395 bool setLowerBoundaryHeatLoad (
unsigned int materialIndex,
double heatLoad);
408 bool getReflectType(
unsigned int materialIndex,
unsigned int wavelengthIndex,
enum ReflectType &reflectType);
420 const char *getReflectType(
unsigned int materialIndex,
unsigned int wavelengthIndex);
433 void setReflectType(
unsigned int materialIndex,
unsigned int wavelengthIndex,
enum ReflectType &reflectType);
444 bool getDHR(
unsigned int materialIndex,
unsigned int wavelengthIndex,
double &DHR);
454 void setDHR(
unsigned int materialIndex,
unsigned int wavelengthIndex,
double DHR);
465 bool getPercentSpecular(
unsigned int materialIndex,
unsigned int wavelengthIndex,
double &PercentSpecular);
476 void setPercentSpecular(
unsigned int materialIndex,
unsigned int wavelengthIndex,
double PercentSpecular);
488 bool getLobeWidth(
unsigned int materialIndex,
unsigned int wavelengthIndex,
double &LobeWidth);
499 void setLobeWidth(
unsigned int materialIndex,
unsigned int wavelengthIndex,
double LobeWidth);
509 bool isValidMaterialIndex(
unsigned int materialIndex);
519 bool isValidMaterialLayerIndex(
unsigned int materialIndex,
unsigned int layerIndex);
529 bool isValidMaterialWavelengthIndex(
unsigned int materialIndex,
unsigned int wavelengthIndex);
538 void setUpdateTimeofDay (
unsigned int materialIndex,
JRMTIME time);
548 bool getUpdateTimeofDay (
unsigned int materialIndex,
JRMTIME &time);
558 bool recomputeTwoSidedFlag (
unsigned int materialIndex);
572 MaterialSystemTablePtrType getMaterialPropertyTablePtr();
580 double getEnvironmentUpdateInterval();
589 void setEnvironmentUpdateInterval(
double interval);
628 char m_dataDirectory[256];
630 char m_cacheDirectory[256];
632 char m_materialSystemFileName[256];
634 char m_timeStamp[256];
642 #endif // _ssMaterialProperties_