VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
ssMaterialProperties Class Reference

Contains information on a set of material systems. More...

Inheritance diagram for ssMaterialProperties:
Inheritance graph
[legend]

Public Member Functions

 ssMaterialProperties ()
 constructor
 ~ssMaterialProperties ()
 destructor
void setMaterialSystemFileName (char *name)
 Sets the material system file name (.ms) for the material set.
void setSigSimDataDirectory (char *name)
 Sets the SigSim data directory.
void setSigSimCacheDirectory (char *name)
 Sets the SigSim cache directory.
void checkValidity ()
 Processes the configured paths for validity and load the material system if necessary.
bool isValid ()
 Returns true if this is a valid material system, false otherwise.
unsigned int getNumberMaterials ()
 get the number of materials in this set
unsigned int getNumberLayers (unsigned int materialIndex)
 get the number of layers for a material
unsigned int getNumberWavelengths (unsigned int materialIndex)
 get the number of spectral wavelengths used by a material in this set
char * getMaterialName (unsigned int materialIndex)
 get the material name for the index into the material system table.
void setMaterialName (unsigned int materialIndex, char *matName)
 set the material name for the index into the material system table.
double getIntensityModulationScalarParameter (unsigned int material, bool visualBand)
bool getAltitude (unsigned int materialIndex, double &altitude)
 get the altitude for the index into the material system table This value is not used in SigSimRT since the altitude varies.
void setAltitude (unsigned int materialIndex, double altitude)
 set the altitude for the index into the material system table.
bool getShadowFlag (unsigned int materialIndex, double &shadow)
 get the shadow state for the index into the material system table
void setShadowFlag (unsigned int materialIndex, double shadow)
 set the shadow state for the index into the material system table.
bool getUpperBoundaryConditionType (unsigned int materialIndex, unsigned int &boundaryConditionType)
 get the upper boundary condition type for the index into the material system table 0 - Forced Boundary Condition Temperature 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Forced Ambient Temperature
void setUpperBoundaryConditionType (unsigned int materialIndex, unsigned int boundaryConditionType)
 set the upper boundary condition type for the index into the material system table 0 - Forced Boundary Condition Temperature 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Forced Ambient Temperature
const char * getUpperBoundaryConditionType (unsigned int materialIndex)
 get the upper boundary condition type for the index into the material system table
bool getUpperBoundaryTemperature (unsigned int materialIndex, double &temperature)
 get the upper boundary condition temperature for the index into the material system table
bool setUpperBoundaryTemperature (unsigned int materialIndex, double temperature)
 set the upper boundary condition temperature for the index into the material system table
bool getUpperBoundaryWindSpeed (unsigned int materialIndex, double &windSpeed)
 get the upper boundary condition wind speed for the index into the material system table
bool setUpperBoundaryWindSpeed (unsigned int materialIndex, double windSpeed)
 set the upper boundary condition wind speed for the index into the material system table
bool getUpperBoundaryHeatLoad (unsigned int materialIndex, double &heatLoad)
 get the upper boundary condition heat load for the index into the material system table
bool setUpperBoundaryHeatLoad (unsigned int materialIndex, double heatLoad)
 set the upper boundary condition heat load for the index into the material system table
bool getLowerBoundaryConditionType (unsigned int materialIndex, unsigned int &boundaryConditionType)
 get the lower boundary condition type for the index into the material system table 0 - Conduction at Boundary Condition 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Solid Contact at Ambient Temperature 6 - Insulated
void setLowerBoundaryConditionType (unsigned int materialIndex, unsigned int boundaryConditionType)
 set the upper boundary condition type for the index into the material system table 0 - Forced Boundary Condition Temperature 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Forced Ambient Temperature
const char * getLowerBoundaryConditionType (unsigned int materialIndex)
 get the lower boundary condition type for the index into the material system table
bool getLowerBoundaryTemperature (unsigned int materialIndex, double &temperature)
 get the lower boundary condition temperature for the index into the material system table
bool setLowerBoundaryTemperature (unsigned int materialIndex, double temperature)
 set the lower boundary condition temperature for the index into the material system table
bool getLowerBoundaryWindSpeed (unsigned int materialIndex, double &windSpeed)
 get the lower boundary condition wind speed for the index into the material system table
bool setLowerBoundaryWindSpeed (unsigned int materialIndex, double windSpeed)
 set the lower boundary condition wind speed for the index into the material system table
bool getLowerBoundaryHeatLoad (unsigned int materialIndex, double &heatLoad)
 get the lower boundary condition heat load for the index into the material system table
bool setLowerBoundaryHeatLoad (unsigned int materialIndex, double heatLoad)
 set the lower boundary condition heat load for the index into the material system table
bool getReflectType (unsigned int materialIndex, unsigned int wavelengthIndex, enum ReflectType &reflectType)
 get the relection type for the index into the material system table and the wavelength index io - Infrared & Optical rf - RadioFrequency
const char * getReflectType (unsigned int materialIndex, unsigned int wavelengthIndex)
 get the reflection type for the index into the material system table and the wavelength index io - Infrared & Optical rf - RadioFrequency
void setReflectType (unsigned int materialIndex, unsigned int wavelengthIndex, enum ReflectType &reflectType)
 set the reflection type for the index into the material system table and the wavelength index io - Infrared & Optical rf - RadioFrequency
bool getDHR (unsigned int materialIndex, unsigned int wavelengthIndex, double &DHR)
 get the DHR material paramater for the index into the material system table and the wavelength index
void setDHR (unsigned int materialIndex, unsigned int wavelengthIndex, double DHR)
 set the DHR material paramater for the index into the material system table and the wavelength index
bool getPercentSpecular (unsigned int materialIndex, unsigned int wavelengthIndex, double &PercentSpecular)
 get the percent specular parameter for the index into the material system table and the wavelength index
void setPercentSpecular (unsigned int materialIndex, unsigned int wavelengthIndex, double PercentSpecular)
 set the percent specular parameter for the index into the material system table and the wavelength index
bool getLobeWidth (unsigned int materialIndex, unsigned int wavelengthIndex, double &LobeWidth)
 get the lobe width parameter for the index into the material system table and the wavelength index
void setLobeWidth (unsigned int materialIndex, unsigned int wavelengthIndex, double LobeWidth)
 set the lobe width parameter for the index into the material system table and the wavelength index
bool isValidMaterialIndex (unsigned int materialIndex)
 Returns true if this is a valid material system, false otherwise.
bool isValidMaterialLayerIndex (unsigned int materialIndex, unsigned int layerIndex)
 Returns true if this is a valid material system, false otherwise.
bool isValidMaterialWavelengthIndex (unsigned int materialIndex, unsigned int wavelengthIndex)
 Returns true if this is a valid material system, false otherwise.
void setUpdateTimeofDay (unsigned int materialIndex, JRMTIME time)
bool getUpdateTimeofDay (unsigned int materialIndex, JRMTIME &time)
bool recomputeTwoSidedFlag (unsigned int materialIndex)
MaterialSystemTablePtrType getMaterialPropertyTablePtr ()
 Gets the SigSim material property structure pointer.
double getEnvironmentUpdateInterval ()
 Returns environment update interval used as interval between thermal spinup calculations.
void setEnvironmentUpdateInterval (double interval)
 sets the environment update interval used as interval between thermal spinup calculations
bool hasChanged ()
 Returns true if the MS file has changed since last used.

Protected Member Functions

bool validate ()
 Validate the setting of the data directory and ms file name and if ok then load the MS file.
void clean ()
 free the allocated material property table.

Protected Attributes

MaterialSystemTablePtrType m_materialPropertyTablePtr
 SigSim material properties table.
unsigned int m_numMaterials
 Number of materials.
unsigned int m_numTemperatures
 Number of temperature intervals.
char m_dataDirectory [256]
 SigSim data directory.
char m_cacheDirectory [256]
 SigSim cache directory.
char m_materialSystemFileName [256]
 material system file name
char m_timeStamp [256]
 MS file time stamp.
double m_updateInterval
 Update interval.
bool needToValidate

Detailed Description

Contains information on a set of material systems.

The material system information is read in from a .ms file that contains the list of material systems and their material structure and thermal characteristics. This is normally accessed thru the derived class ssMaterialSet.

Constructor & Destructor Documentation

ssMaterialProperties::ssMaterialProperties ( )

constructor

ssMaterialProperties::~ssMaterialProperties ( )

destructor

Member Function Documentation

void ssMaterialProperties::setMaterialSystemFileName ( char *  name)

Sets the material system file name (.ms) for the material set.

The material system file is also loaded if everything is ok.

Parameters
name
void ssMaterialProperties::setSigSimDataDirectory ( char *  name)

Sets the SigSim data directory.

The material system file is also loaded if everything is ok.

Parameters
name
void ssMaterialProperties::setSigSimCacheDirectory ( char *  name)

Sets the SigSim cache directory.

Parameters
name
void ssMaterialProperties::checkValidity ( )

Processes the configured paths for validity and load the material system if necessary.

Returns
void
bool ssMaterialProperties::isValid ( )

Returns true if this is a valid material system, false otherwise.

Returns
bool
unsigned int ssMaterialProperties::getNumberMaterials ( )

get the number of materials in this set

Returns
unsigned int

Reimplemented in ssMaterialSet.

unsigned int ssMaterialProperties::getNumberLayers ( unsigned int  materialIndex)

get the number of layers for a material

Parameters
materialIndex
Returns
unsigned int
unsigned int ssMaterialProperties::getNumberWavelengths ( unsigned int  materialIndex)

get the number of spectral wavelengths used by a material in this set

Parameters
materialIndex
Returns
unsigned int
char* ssMaterialProperties::getMaterialName ( unsigned int  materialIndex)

get the material name for the index into the material system table.

Parameters
materialIndex
Returns
char *
void ssMaterialProperties::setMaterialName ( unsigned int  materialIndex,
char *  matName 
)

set the material name for the index into the material system table.

Parameters
materialIndex
matName
Returns
void
double ssMaterialProperties::getIntensityModulationScalarParameter ( unsigned int  material,
bool  visualBand 
)
Parameters
material- material of the index
visualBand- flag indicating a visual/NVG sensor
Returns
double - the Intensity Modulation Scalar Parameter
bool ssMaterialProperties::getAltitude ( unsigned int  materialIndex,
double &  altitude 
)

get the altitude for the index into the material system table This value is not used in SigSimRT since the altitude varies.

Parameters
materialIndex
altitude[meters]
Returns
bool
void ssMaterialProperties::setAltitude ( unsigned int  materialIndex,
double  altitude 
)

set the altitude for the index into the material system table.

Parameters
materialIndex
altitude[meters]
Returns
void
bool ssMaterialProperties::getShadowFlag ( unsigned int  materialIndex,
double &  shadow 
)

get the shadow state for the index into the material system table

Parameters
materialIndex
shadow[0-1] Shadow flag is = 1 for completely shaded system, 0 for completely exposed system.
Returns
bool
void ssMaterialProperties::setShadowFlag ( unsigned int  materialIndex,
double  shadow 
)

set the shadow state for the index into the material system table.

Parameters
materialIndex
shadow[0-1] Shadow flag is = 1 for completely shaded system, 0 for completely exposed system.
Returns
void
bool ssMaterialProperties::getUpperBoundaryConditionType ( unsigned int  materialIndex,
unsigned int boundaryConditionType 
)

get the upper boundary condition type for the index into the material system table 0 - Forced Boundary Condition Temperature 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Forced Ambient Temperature

Parameters
materialIndex
boundaryConditionType
Returns
bool
void ssMaterialProperties::setUpperBoundaryConditionType ( unsigned int  materialIndex,
unsigned int  boundaryConditionType 
)

set the upper boundary condition type for the index into the material system table 0 - Forced Boundary Condition Temperature 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Forced Ambient Temperature

Parameters
materialIndex
boundaryConditionType
Returns
void
const char* ssMaterialProperties::getUpperBoundaryConditionType ( unsigned int  materialIndex)

get the upper boundary condition type for the index into the material system table

Parameters
materialIndex
Returns
const char *
bool ssMaterialProperties::getUpperBoundaryTemperature ( unsigned int  materialIndex,
double &  temperature 
)

get the upper boundary condition temperature for the index into the material system table

Parameters
materialIndex
temperature[degrees C]
Returns
bool
bool ssMaterialProperties::setUpperBoundaryTemperature ( unsigned int  materialIndex,
double  temperature 
)

set the upper boundary condition temperature for the index into the material system table

Parameters
materialIndex
temperature[degrees C]
Returns
bool
bool ssMaterialProperties::getUpperBoundaryWindSpeed ( unsigned int  materialIndex,
double &  windSpeed 
)

get the upper boundary condition wind speed for the index into the material system table

Parameters
materialIndex
windSpeed[meters/sec]
Returns
bool
bool ssMaterialProperties::setUpperBoundaryWindSpeed ( unsigned int  materialIndex,
double  windSpeed 
)

set the upper boundary condition wind speed for the index into the material system table

Parameters
materialIndex
windSpeed[meters/sec]
Returns
bool
bool ssMaterialProperties::getUpperBoundaryHeatLoad ( unsigned int  materialIndex,
double &  heatLoad 
)

get the upper boundary condition heat load for the index into the material system table

Parameters
materialIndex
heatLoad[W/m^2]
Returns
bool
bool ssMaterialProperties::setUpperBoundaryHeatLoad ( unsigned int  materialIndex,
double  heatLoad 
)

set the upper boundary condition heat load for the index into the material system table

Parameters
materialIndex
heatLoad[W/m^2]
Returns
bool
bool ssMaterialProperties::getLowerBoundaryConditionType ( unsigned int  materialIndex,
unsigned int boundaryConditionType 
)

get the lower boundary condition type for the index into the material system table 0 - Conduction at Boundary Condition 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Solid Contact at Ambient Temperature 6 - Insulated

Parameters
materialIndex
boundaryConditionType
Returns
bool
void ssMaterialProperties::setLowerBoundaryConditionType ( unsigned int  materialIndex,
unsigned int  boundaryConditionType 
)

set the upper boundary condition type for the index into the material system table 0 - Forced Boundary Condition Temperature 1 - Natural Air Convection 2 - Forced Boundary Condition Air Convection 3 - Forced Ambient Air Convection 4 - Aerodynamic Skin Heating 5 - Forced Ambient Temperature

Parameters
materialIndex
boundaryConditionType
Returns
void
const char* ssMaterialProperties::getLowerBoundaryConditionType ( unsigned int  materialIndex)

get the lower boundary condition type for the index into the material system table

Parameters
materialIndex
Returns
const char *
bool ssMaterialProperties::getLowerBoundaryTemperature ( unsigned int  materialIndex,
double &  temperature 
)

get the lower boundary condition temperature for the index into the material system table

Parameters
materialIndex
temperature[degrees C]
Returns
bool
bool ssMaterialProperties::setLowerBoundaryTemperature ( unsigned int  materialIndex,
double  temperature 
)

set the lower boundary condition temperature for the index into the material system table

Parameters
materialIndex
temperature[degrees C]
Returns
bool
bool ssMaterialProperties::getLowerBoundaryWindSpeed ( unsigned int  materialIndex,
double &  windSpeed 
)

get the lower boundary condition wind speed for the index into the material system table

Parameters
materialIndex
windSpeed[meters/sec]
Returns
bool
bool ssMaterialProperties::setLowerBoundaryWindSpeed ( unsigned int  materialIndex,
double  windSpeed 
)

set the lower boundary condition wind speed for the index into the material system table

Parameters
materialIndex
windSpeed[meters/sec]
Returns
bool
bool ssMaterialProperties::getLowerBoundaryHeatLoad ( unsigned int  materialIndex,
double &  heatLoad 
)

get the lower boundary condition heat load for the index into the material system table

Parameters
materialIndex
heatLoad[W/m^2]
Returns
bool
bool ssMaterialProperties::setLowerBoundaryHeatLoad ( unsigned int  materialIndex,
double  heatLoad 
)

set the lower boundary condition heat load for the index into the material system table

Parameters
materialIndex
heatLoad[W/m^2]
Returns
bool
bool ssMaterialProperties::getReflectType ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
enum ReflectType reflectType 
)

get the relection type for the index into the material system table and the wavelength index io - Infrared & Optical rf - RadioFrequency

Parameters
materialIndex
wavelengthIndex
reflectType
Returns
bool
const char* ssMaterialProperties::getReflectType ( unsigned int  materialIndex,
unsigned int  wavelengthIndex 
)

get the reflection type for the index into the material system table and the wavelength index io - Infrared & Optical rf - RadioFrequency

Parameters
materialIndex
wavelengthIndex
Returns
const char *
void ssMaterialProperties::setReflectType ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
enum ReflectType reflectType 
)

set the reflection type for the index into the material system table and the wavelength index io - Infrared & Optical rf - RadioFrequency

Parameters
materialIndex
wavelengthIndex
reflectType
Returns
void
bool ssMaterialProperties::getDHR ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
double &  DHR 
)

get the DHR material paramater for the index into the material system table and the wavelength index

Parameters
materialIndex
wavelengthIndex
DHR[unitless 0-1]
Returns
bool
void ssMaterialProperties::setDHR ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
double  DHR 
)

set the DHR material paramater for the index into the material system table and the wavelength index

Parameters
materialIndex
wavelengthIndex
DHR[unitless 0-1]
Returns
void
bool ssMaterialProperties::getPercentSpecular ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
double &  PercentSpecular 
)

get the percent specular parameter for the index into the material system table and the wavelength index

Parameters
materialIndex
wavelengthIndex
PercentSpecular[unitless 0-100]
Returns
bool
void ssMaterialProperties::setPercentSpecular ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
double  PercentSpecular 
)

set the percent specular parameter for the index into the material system table and the wavelength index

Parameters
materialIndex
wavelengthIndex
PercentSpecular[unitless 0-100]
Returns
void
bool ssMaterialProperties::getLobeWidth ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
double &  LobeWidth 
)

get the lobe width parameter for the index into the material system table and the wavelength index

Parameters
materialIndex
wavelengthIndex
LobeWidth[degrees, full angle]
Returns
bool
void ssMaterialProperties::setLobeWidth ( unsigned int  materialIndex,
unsigned int  wavelengthIndex,
double  LobeWidth 
)

set the lobe width parameter for the index into the material system table and the wavelength index

Parameters
materialIndex
wavelengthIndex
LobeWidth[degrees, full angle]
Returns
void
bool ssMaterialProperties::isValidMaterialIndex ( unsigned int  materialIndex)

Returns true if this is a valid material system, false otherwise.

Parameters
materialIndex
Returns
bool
bool ssMaterialProperties::isValidMaterialLayerIndex ( unsigned int  materialIndex,
unsigned int  layerIndex 
)

Returns true if this is a valid material system, false otherwise.

Parameters
materialIndex
layerIndex
Returns
bool
bool ssMaterialProperties::isValidMaterialWavelengthIndex ( unsigned int  materialIndex,
unsigned int  wavelengthIndex 
)

Returns true if this is a valid material system, false otherwise.

Parameters
materialIndex
wavelengthIndex
Returns
bool
void ssMaterialProperties::setUpdateTimeofDay ( unsigned int  materialIndex,
JRMTIME  time 
)
Parameters
materialIndex
time
bool ssMaterialProperties::getUpdateTimeofDay ( unsigned int  materialIndex,
JRMTIME time 
)
Parameters
materialIndex
time
Returns
bool
bool ssMaterialProperties::recomputeTwoSidedFlag ( unsigned int  materialIndex)
Parameters
materialIndex
Returns
bool
MaterialSystemTablePtrType ssMaterialProperties::getMaterialPropertyTablePtr ( )

Gets the SigSim material property structure pointer.

WARNING: This method will be moved to private in an upcoming release to avoid the possibilty of users corrupting the underlining data structure which is used in SigSim. So if this method is used, please inform JRM of the needed information and get methods will be added to provide the needed data.

Returns
MATL_PROP_TABLE

Reimplemented in ssMaterialSet.

double ssMaterialProperties::getEnvironmentUpdateInterval ( )

Returns environment update interval used as interval between thermal spinup calculations.

Returns
double [hours]
void ssMaterialProperties::setEnvironmentUpdateInterval ( double  interval)

sets the environment update interval used as interval between thermal spinup calculations

Parameters
intervalin hours
bool ssMaterialProperties::hasChanged ( )

Returns true if the MS file has changed since last used.

Returns
bool
bool ssMaterialProperties::validate ( )
protected

Validate the setting of the data directory and ms file name and if ok then load the MS file.

Returns
bool
void ssMaterialProperties::clean ( )
protected

free the allocated material property table.

Member Data Documentation

MaterialSystemTablePtrType ssMaterialProperties::m_materialPropertyTablePtr
protected

SigSim material properties table.

unsigned int ssMaterialProperties::m_numMaterials
protected

Number of materials.

unsigned int ssMaterialProperties::m_numTemperatures
protected

Number of temperature intervals.

char ssMaterialProperties::m_dataDirectory[256]
protected

SigSim data directory.

char ssMaterialProperties::m_cacheDirectory[256]
protected

SigSim cache directory.

char ssMaterialProperties::m_materialSystemFileName[256]
protected

material system file name

char ssMaterialProperties::m_timeStamp[256]
protected

MS file time stamp.

double ssMaterialProperties::m_updateInterval
protected

Update interval.

bool ssMaterialProperties::needToValidate
protected

The documentation for this class was generated from the following file:


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