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 | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
SigSimRT Class Reference

SigSimRT. More...

Public Member Functions

 SigSimRT ()
 constructor
 ~SigSimRT ()
 destructor
bool initializeLicense ()
 check the license and display the SigSimRT/SigSim version This should be called before any other methods to verify that a SigSim license is available.
bool setDataDirectory (char *dir)
 sets the data directory to use to locate all of the SigSim files.
void setCacheDirectory (char *dir)
 sets the cache directory to use.
bool allocateSensors (int number)
 allocates the requested number of sensors.
bool addSensor (ssSensor *sensor)
 Adds an ssSensor to the list of sensors.
std::shared_ptr< ssMaterialSetinitializeMaterialSet (char *msFileName, bool ematType=false, bool embedk=false)
 Adds a material set to the list of material sets managed by SigSimRT and initializes it with the given ms file name.
bool overrideMaterialSetUseInstance (char *msFilename, bool useInstance=true)
 Function to allow reuse of an existing Material Set even though it was ingested with AR files (which usually prevents MS reuse).
bool spinupMaterialSet (ssObject *object)
 spin up the temperatures of a material set.
int checkInitializeEnvironment (bool &timeChanged)
bool updateEnvironment (ssSensor *sensor, bool forceUpdate=false)
bool updateMaterialResponses (ssSensor *sensor, bool forceUpdate=false)
 This is the main update routine that goes thru all of the SigSimRT state and makes sure everything is upto date for determinining the temperature of each of the materials in each of the material sets for the requested sensor.
bool setDynamicRangeForCurrentTOD (ssSensor *sensor, bool EXTREMAL)
 Sets the sensor dynamic range (maxLightLevel and Tmin/Tmax) for given TOD.
bool initializeObject (ssObject *object)
 Adds an object to the object list and a material set to the list of material sets managed by SigSimRT and initializes it with the given ms file name.
bool removeObject (ssObject *object)
bool initializeTerrain (ssObject *object)
 This marks the object as the terrain object and initializes the object.
void initializeRadar (ssRadar *radar)
 initialize the radar object - initialize member variables such as the object map, environment, and terrain.
ssSensorgetSensor (int id=0)
 gets a sensor using its unique id
ssSensorgetSensorByOrder (int idx=0)
 gets a sensor using its location in the sensor map
ssSensorgetSensorByType (SENSOR_TYPE type)
 gets the first sensor of the indicated SENSOR_TYPE
ssObjectgetObject (int id=0)
 gets a object using its unique id
ssObjectgetObjectByOrder (int idx=0)
 gets a object using its locatin in the object map
ssObjectgetTerrain ()
 gets the object that is specified as the terrain
void setEnvironment (ssEnvironment *env)
 Associates the ssEnvironment with the SigSimRT object for use with all SigSimRT functions.
ssEnvironmentgetEnvironment ()
 gets the ssEnvironment pointer
unsigned int getNumberSensors ()
 gets the number of sensors
unsigned int getNumberObjects ()
 gets the number of objects
const char * getDataDirectory ()
 gets the data directory
bool initializeMetinTables ()
 Initializes some of the SigSimC tables used by Modtran so user defined atmospheres can be generated.
void setFreezeUpdates (bool flag)
 set freeze update flag to keep updates like active regions constant
bool getFreezeUpdates ()
 get freeze update flag that keeps updates like active regions constant
bool initializeEnvironment (bool quietFlag=false)
 initializes the environment SigSim calls - AllocateAndFillMetinTablesAndSpectralArrays LoadATMFromPreFilledMetin SetupAtmosphericProfile
bool thermalSpinUpMaterialsIfNeeded ()

Static Public Member Functions

static const char * getVersion ()
 gets the version of SigSimRT

Private Member Functions

bool thermalSpinUp ()
 performs thermal spin up of all materials for the specified period
bool dynamicThermalSpinup ()
 performs an asynchronous thermal spin up of all material system active regions
bool checkAscEquivalent (char *statefile)
 This call checks to see if there is an equivalent asc file when the user specifies an mcd file.

Private Attributes

LARGE_INTEGER m_frequency
LARGE_INTEGER m_start
LARGE_INTEGER m_end
char m_dataDirectory [SIGSIM_STRING_SIZE]
 data directory for scenario and other files
char m_cacheDirectory [SIGSIM_STRING_SIZE]
 cache directory
ssEnvironmentm_environment
 environment
ssObjectm_terrain
 terrain object
unsigned int m_numberSensors
 number of sensors
unsigned int m_numberAllocatedSensors
 number of allocated sensors
SENSORm_allSensorsPtr
 SigSim structure pointer to all sensor pointers.
int m_numberObjects
 number of objects
int m_numberMaterialSets
 number of material sets
bool m_freezeUpdates
 freeze updates flag
Implementation * m_impl

Friends

class ssEnvironment

Detailed Description

SigSimRT.

encapsulates the SigSim library for scene generation

Constructor & Destructor Documentation

SigSimRT::SigSimRT ( )

constructor

SigSimRT::~SigSimRT ( )

destructor

Member Function Documentation

bool SigSimRT::initializeLicense ( )

check the license and display the SigSimRT/SigSim version This should be called before any other methods to verify that a SigSim license is available.

If this is not done, SigSim will not give back valid results.

Returns
bool - true license is ok
bool SigSimRT::setDataDirectory ( char *  dir)

sets the data directory to use to locate all of the SigSim files.

Parameters
dir
Returns
bool - true if the data directory is valid and the basic files are found.
void SigSimRT::setCacheDirectory ( char *  dir)

sets the cache directory to use.

Parameters
dir
bool SigSimRT::allocateSensors ( int  number)

allocates the requested number of sensors.

Currently due to the underlining SigSim libary the maximum number of sensors used by SigSimRT needs to be determined during initialization. By default 30 sensors are allocated so the user doesn't have to call allocateSensors if using less than 30 sensors. Each sensor can be modified during real-time to simulate other wave bands or other changes. SigSim call - AllocateSensors

Parameters
number
Returns
bool
bool SigSimRT::addSensor ( ssSensor sensor)

Adds an ssSensor to the list of sensors.

This only works upto the number of allocated sensors.

Parameters
sensor
Returns
bool
std::shared_ptr<ssMaterialSet> SigSimRT::initializeMaterialSet ( char *  msFileName,
bool  ematType = false,
bool  embedk = false 
)

Adds a material set to the list of material sets managed by SigSimRT and initializes it with the given ms file name.

If a file name has been initialized already then the previously created materialSet is provided.

Parameters
msFileName
ematType
Returns
ssMaterialSet *
bool SigSimRT::overrideMaterialSetUseInstance ( char *  msFilename,
bool  useInstance = true 
)

Function to allow reuse of an existing Material Set even though it was ingested with AR files (which usually prevents MS reuse).

Supports MS reuse for Minotaur radar, where AR not important.

Parameters
[in]msFilename- the material system file name associated with the Material Set
[in]useInstance- flag to indicate that the Material Set should be used for multiple instances of a model
Returns
true if Material System for the msFilename is already present and its useInstance field was successfully set.
bool SigSimRT::spinupMaterialSet ( ssObject object)

spin up the temperatures of a material set.

/param set - pointer to the material set.

int SigSimRT::checkInitializeEnvironment ( bool timeChanged)
bool SigSimRT::updateEnvironment ( ssSensor sensor,
bool  forceUpdate = false 
)
bool SigSimRT::updateMaterialResponses ( ssSensor sensor,
bool  forceUpdate = false 
)

This is the main update routine that goes thru all of the SigSimRT state and makes sure everything is upto date for determinining the temperature of each of the materials in each of the material sets for the requested sensor.

First the if the environment parameters have changed then the environment is regenerated (initializeEnviroment) If the date has changed then the thermal spin up is regenerated for for the new date. If the time of day has changed then the temperature data for the new time of day is used to update the material response data tables.

Parameters
sensor
forceUpdate
Returns
bool
bool SigSimRT::setDynamicRangeForCurrentTOD ( ssSensor sensor,
bool  EXTREMAL 
)

Sets the sensor dynamic range (maxLightLevel and Tmin/Tmax) for given TOD.

     Looks at both direct-viewing true radiances (sun,moon,stars,MMLS) 
     as well as ground radiances (MS records) (from both reflection & emission).
Parameters
sensor- pointer to the sensor
EXTREMAL: if(true), chooses highest and lowest TYPE of radiance. if(false), chooses next highest/lowest TYPE of radiance.
Returns
true if successful
bool SigSimRT::initializeObject ( ssObject object)

Adds an object to the object list and a material set to the list of material sets managed by SigSimRT and initializes it with the given ms file name.

Parameters
object
Returns
bool
bool SigSimRT::removeObject ( ssObject object)
Parameters
object
Returns
bool
bool SigSimRT::initializeTerrain ( ssObject object)

This marks the object as the terrain object and initializes the object.

Parameters
object
Returns
bool
void SigSimRT::initializeRadar ( ssRadar radar)

initialize the radar object - initialize member variables such as the object map, environment, and terrain.

Parameters
radar
ssSensor* SigSimRT::getSensor ( int  id = 0)

gets a sensor using its unique id

Returns
ssSensor
ssSensor* SigSimRT::getSensorByOrder ( int  idx = 0)

gets a sensor using its location in the sensor map

Returns
ssSensor
ssSensor* SigSimRT::getSensorByType ( SENSOR_TYPE  type)

gets the first sensor of the indicated SENSOR_TYPE

Returns
ssSensor
ssObject* SigSimRT::getObject ( int  id = 0)

gets a object using its unique id

Returns
ssObject
ssObject* SigSimRT::getObjectByOrder ( int  idx = 0)

gets a object using its locatin in the object map

Returns
ssObject
ssObject* SigSimRT::getTerrain ( )

gets the object that is specified as the terrain

Returns
ssObject
void SigSimRT::setEnvironment ( ssEnvironment env)

Associates the ssEnvironment with the SigSimRT object for use with all SigSimRT functions.

Parameters
env
ssEnvironment* SigSimRT::getEnvironment ( )

gets the ssEnvironment pointer

Returns
ssEnvironment
unsigned int SigSimRT::getNumberSensors ( )

gets the number of sensors

Returns
unsigned int
unsigned int SigSimRT::getNumberObjects ( )

gets the number of objects

Returns
unsigned int
const char* SigSimRT::getDataDirectory ( )

gets the data directory

Returns
const char *
static const char* SigSimRT::getVersion ( )
static

gets the version of SigSimRT

Returns
const char *
bool SigSimRT::initializeMetinTables ( )

Initializes some of the SigSimC tables used by Modtran so user defined atmospheres can be generated.

For reference see AllocateAndFillMetinTablesAndSpectralArrays and UpdateModCard in SigSimC.

Returns
bool
void SigSimRT::setFreezeUpdates ( bool  flag)

set freeze update flag to keep updates like active regions constant

Parameters
flag
bool SigSimRT::getFreezeUpdates ( )

get freeze update flag that keeps updates like active regions constant

Returns
flag
bool SigSimRT::initializeEnvironment ( bool  quietFlag = false)

initializes the environment SigSim calls - AllocateAndFillMetinTablesAndSpectralArrays LoadATMFromPreFilledMetin SetupAtmosphericProfile

Returns
bool
bool SigSimRT::thermalSpinUpMaterialsIfNeeded ( )
bool SigSimRT::thermalSpinUp ( )
private

performs thermal spin up of all materials for the specified period

Returns
bool
bool SigSimRT::dynamicThermalSpinup ( )
private

performs an asynchronous thermal spin up of all material system active regions

Returns
bool true if material systems have pending updates
bool SigSimRT::checkAscEquivalent ( char *  statefile)
private

This call checks to see if there is an equivalent asc file when the user specifies an mcd file.

Parameters
filename
Returns
bool

Friends And Related Function Documentation

friend class ssEnvironment
friend

Member Data Documentation

LARGE_INTEGER SigSimRT::m_frequency
private
LARGE_INTEGER SigSimRT::m_start
private
LARGE_INTEGER SigSimRT::m_end
private
char SigSimRT::m_dataDirectory[SIGSIM_STRING_SIZE]
private

data directory for scenario and other files

char SigSimRT::m_cacheDirectory[SIGSIM_STRING_SIZE]
private

cache directory

ssEnvironment* SigSimRT::m_environment
private

environment

ssObject* SigSimRT::m_terrain
private

terrain object

unsigned int SigSimRT::m_numberSensors
private

number of sensors

unsigned int SigSimRT::m_numberAllocatedSensors
private

number of allocated sensors

SENSOR* SigSimRT::m_allSensorsPtr
private

SigSim structure pointer to all sensor pointers.

int SigSimRT::m_numberObjects
private

number of objects

int SigSimRT::m_numberMaterialSets
private

number of material sets

bool SigSimRT::m_freezeUpdates
private

freeze updates flag

Implementation* SigSimRT::m_impl
private

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


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