VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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.
bool allocateSensors (int number)
 allocates the requested number of sensors.
bool addSensor (ssSensor *sensor)
 Adds an ssSensor to the list of sensors.
void copyMaterialSet (ssObject *objectPtr)
 Copies the materialSet of the object into a new materialSet so that the object can have an independent materialSet for active regions.
ssMaterialSetinitializeMaterialSet (char *msFileName, bool ematType=false)
 Adds a material set to the list of material sets managed by SigSimRT and initializes it with the given ms file name.
void spinupMaterialSet (ssMaterialSet *set)
 spin up the temperatures of a material set.
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
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
void setImmediateActiveRegionUpdate (bool flag)
 set immediate update flag to cause active regions to immediately go to current active state
bool getImmediateActiveRegionUpdate ()
 get immediate update flag to cause active regions to immediately go to current active state
bool initializeEnvironment (bool quietFlag=false)
 initializes the environment SigSim calls - AllocateAndFillMetinTablesAndSpectralArrays LoadATMFromPreFilledMetin SetupAtmosphericProfile

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 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
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
bool m_immediateActiveRegionUpdate
 immediate update of active regions 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.
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
void SigSimRT::copyMaterialSet ( ssObject objectPtr)

Copies the materialSet of the object into a new materialSet so that the object can have an independent materialSet for active regions.

Parameters
objectPtr
ssMaterialSet* SigSimRT::initializeMaterialSet ( char *  msFileName,
bool  ematType = 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 *
void SigSimRT::spinupMaterialSet ( ssMaterialSet set)

spin up the temperatures of a material set.

/param set - pointer to the material set.

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
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
void SigSimRT::setImmediateActiveRegionUpdate ( bool  flag)

set immediate update flag to cause active regions to immediately go to current active state

Parameters
boolflag
bool SigSimRT::getImmediateActiveRegionUpdate ( )

get immediate update flag to cause active regions to immediately go to current active state

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

initializes the environment SigSim calls - AllocateAndFillMetinTablesAndSpectralArrays LoadATMFromPreFilledMetin SetupAtmosphericProfile

Returns
bool
bool SigSimRT::thermalSpinUp ( )
private

performs thermal spin up of all materials for the specified period

Returns
bool
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

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

bool SigSimRT::m_immediateActiveRegionUpdate
private

immediate update of active regions flag

Implementation* SigSimRT::m_impl
private

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


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