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

class wrapper for the object functions in SigSim library More...

Classes

struct  SL_CLOUD

Public Types

enum  ObjectBrdfEnum { ORIGINAL_PHONG = 0, SR, BECKMANN, PHONG }
 BRDF type to be used. More...
enum  SL_CLOUD_TYPE {
  NONE = -1, CIRROCUMULUS = 0, CIRRUS_FIBRATUS, STRATUS,
  CUMULUS_MEDIOCRIS, CUMULUS_CONGESTUS, CUMULUS_CONGESTUS_HI_RES, CUMULONIMBUS_CAPPILATUS,
  STRATOCUMULUS, TOWERING_CUMULUS
}
enum  Category {
  defaultCategory = 0, clouds, specialeffect, diguy,
  water, speedtree, rdg, ship,
  aircraft, storm, plume, embedk,
  pointsource, emsig
}

Public Member Functions

 ssObject ()
 constructor
virtual ~ssObject ()
 destructor
double getThermalSpinUpTime ()
 get the thermal spin up period
bool setThermalSpinUpTime (double hours)
 set the thermal spin up period
float * getResponseData (ssSensor *sensor, unsigned int &numMaterials, unsigned int &numBins, unsigned int &numParameters)
 get the response data in float array form for a particular sensor useful for binding to a texture table is organized as float responseData[material][wavelength][parameter] There are 12 parameters per spectral wavelength per material.
float * getSandfordRobertsonResponseData (ssSensor *sensor, unsigned int &numMaterials, unsigned int &numBins, unsigned int &numParameters)
 get the Sandford Robertson response data in float array form for a particular sensor
float * getVisualData (unsigned int &numMaterials, ssSensor *sensor)
 Gets the visual band response data for a particular object.
void getMaterialResponse (ssSensor *sensor, unsigned int matCode, float &ambient, float &emission, float &cosEmission)
 Gets the response data for a particular sensor and material code.
unsigned int getNumberResponses ()
 gets the number of responses for an entity
unsigned int getNumberResponseValues ()
 gets the number of response values used in the response table
unsigned int getNumberMaterials ()
 gets the number of materials for an entity
int getObjectType ()
 get the object type
void setObjectType (const int type)
char * getName ()
 get the object name
void setName (const char *name)
int getUniqueID ()
 get the object id.
bool setUniqueID (int id)
 set the object id.
void setFullResponseEnable (bool flag)
 sets the full response flag full response flag - set true for mcm textures - false for temperature maps/poly level temperatures indicates whether to place the full response in the response data or leave the emission value to be combined in the GPU
bool getFullResponseEnable ()
 get the full response flag
void setIncludeEmissivity (bool flag)
 set the Include Emissivity flag flag indicating whether to combine the temperature with the emissivity for the full emission respons in the response data or leave the emissivity value to be combined in the GPU
bool getIncludeEmissivity ()
 get the Include Emissivity flag
void setGeometryFileName (char *name)
char * getGeometryFileName ()
void setMaterialSystemFileName (char *name)
char * getMaterialSystemFileName ()
void setSCfilename (char *name)
char * getSCfilename ()
void setRCSfilename (char *name)
char * getRCSfilename ()
void setPIPfilename (char *name=NULL)
char * getPIPfilename ()
void setMSICfilename (char *name=NULL)
char * getMSICfilename ()
void setSmokeMaterialSystemFileName (char *name)
 Only applicable if this object is of a type flare.
char * getSmokeMaterialSystemFileName ()
 Only applicable if this object is of a type flare.
void setSmokeGeometryFileName (char *name)
 Only applicable if this object is of a type flare.
char * getSmokeGeometryFileName ()
 Only applicable if this object is of a type flare.
void setSmokePIPfilename (char *name=NULL)
 Only applicable if this object is of a type flare.
char * getSmokePIPfilename ()
 Only applicable if this object is of a type flare.
void setTrackFileName (char *name)
char * getTrackFileName ()
void setIndex (int i)
int getIndex ()
void setMaterialSet (const std::shared_ptr< ssMaterialSet > &set)
ssMaterialSetgetMaterialSet () const
std::shared_ptr< ssMaterialSetgetMaterialSetPtr () const
void setGeocentricLocation (double x, double y, double z)
 set the geocentric location (meters)
void getGeocentricLocation (double &x, double &y, double &z)
 get the geocentric location (meters)
void setGeodeticLocation (double lat, double lon, double alt)
 set the geodetic location (degrees, degrees, meters)
void getGeodeticLocation (double &lat, double &lon, double &alt)
 get the geodetic location (degrees, degrees, meters)
void setOrientation (double h, double p, double r)
 set the body FRD orientation relative to local NED coords (radians)
void getOrientation (double &h, double &p, double &r)
 get the body FRD orientation relative to local NED coords (radians)
void setLinearVelocity (double e, double n, double u)
 set linear velocity in local ENU coords (m/s)
void getLinearVelocity (double &e, double &n, double &u)
 get linear velocity in local ENU coords (m/s)
void setLinearAcceleration (double e, double n, double u)
 set linear acceleration in local ENU coords (m/s2)
void getLinearAcceleration (double &e, double &n, double &u)
 get linear acceleration in local ENU coords (m/s2)
void setAngularVelocity (double e, double n, double u)
 set Angular velocity in local ENU coords (rad/s) Magnitude gives speed clockwise about direction.
void getAngularVelocity (double &e, double &n, double &u)
 get Angular velocity in local ENU coords (rad/s) Magnitude gives speed clockwise about direction.
void setAngularAcceleration (double e, double n, double u)
 set angular acceleration in local ENU coords (rad/s2) Magnitude gives acceleration clockwise about direction.
void getAngularAcceleration (double &e, double &n, double &u)
 get angular acceleration in local ENU coords (rad/s2) Magnitude gives acceleration clockwise about direction.
void setTimeActivated (double time=0.0)
 ssObject::setTimeActivated
double getTimeActivated (void)
 ssObject::getTimeActivated
void setHFTTimeLastUpdated (double time)
 ssObject::setHFTTimeLastUpdated
double getHFTTimeLastUpdated (void)
 ssObject::getHFTTimeLastUpdated
void setHFTTimeLLoaded (double time)
 ssObject::setHFTTimeLoaded
double getHFTTimeLoaded (void)
 ssObject::getHFTTimeLoaded
void ResetHFT ()
 ssObject::ResetHFT
bool LoadHFTFile (char *infile, double current)
 ssObject::LoadHFTFile
void UpdateHFT (double current, double dwell_secs=UPLIM)
 ssObject::UpdateHFT
void setTrack (TRACK *track, int numTracks)
 set track
void setTrackfileUpdate (double simTime,::ellipsoid *ellipsoid)
 set track file update
ssObjectgetPtr ()
OBJECTgetObjectPtr ()
 get the SigSim object structure...
bool thermalSpinUp (ssEnvironment *env)
 spins up the thermal systems for the specified duration in hours
bool isEmatType ()
 returns true if set is being used with eigen materials
void setEmatType (bool flag)
 set flag indicating whether the set is to be used with eigen materials.
bool initialize (char *dataDir=NULL)
 initializes the object's special effects.
bool update (ssEnvironment *env)
 Updates object.
void copyIntrinsicParams (ssObject *from)
 copies all possible independent params from one ssObject to another
void setIsDirty (bool flag)
 set all possible independent params from one ssObject to another
bool isDirty ()
 query whether the object's parameters have changed
void setWorldLocation (double x, double y, double z)
 Set the world location of the object.
void getWorldLocation (double &x, double &y, double &z)
 get the world position out of ssObject
bool isFlareObject () const
void setObjectIntensityFactor (float intensity)
float getObjectIntensityFactor () const
void setBrdf (ObjectBrdfEnum v)
 set the BRDF type
ObjectBrdfEnum getBrdf ()
 get the BRDF type
void setRoughness (float r)
 set the roughness parameter for the BRDF
float getRoughness ()
 get the roughness paramater for the BRDF
int ProcessSL_CLOUD (ssEnvironment *env, double H2O_density_gpm3, double voxdim_m)
SL_CLOUDgetSL_CLOUD (void)
void FreeSL_CLOUDArrays (bool init)
int AllocateSL_CLOUDArrays (long nlambda)
int getSL_CLOUDPassbandSignature (ssSensor *sensor, ssEnvironment *env, double &emission, double &reflectivity, double &alpha, double &g1, double &g2, double &f)
void setSLCloudGeometry (SL_CLOUD_TYPE type, double basealt_m, double thickness_m, double extent_m, double coverage)
int getSLCloudGeometry (SL_CLOUD_TYPE &type, double &basealt_m, double &thickness_m, double &extent_m, double &coverage)
Category getCategory ()
void setCategory (Category category)
void setOffsetTranslation (double X, double Y, double Z)
void getOffsetTranslation (double &X, double &Y, double &Z)
void setOffsetOrientation (double yaw, double pitch, double roll)
void getOffsetOrientation (double &yaw, double &pitch, double &roll)

Protected Attributes

bool m_isFlare
 flag to indicate whether this object is of a type flare or not

Private Member Functions

virtual void updateInternal (ssEnvironment *env, bool forceUpdate)
void setObjectPtr (OBJECT *objectPtr)
 set the SigSim object structure

Private Attributes

int m_index
 index storage value for defining an OBJECT array
int m_id
 unique ID for this object. Must be different than any other object
std::shared_ptr< ssMaterialSetm_materialSet
 material set for this object
OBJECTm_objectPtr
 SigSim object objects.
bool m_objectPtr_alloc
 Indicates whether m_objectPtr was allocated by this instance.
char m_trackFileName [SIGSIM_STRING_SIZE]
 track file name
char m_materialSystemFileName [SIGSIM_STRING_SIZE]
 material system file name
char m_dataDirectory [SIGSIM_STRING_SIZE]
 SigSim data directory.
char m_geometryFilename [SIGSIM_STRING_SIZE]
 Geometry file name.
char m_rcsFilename [SIGSIM_STRING_SIZE]
 radar cross section file name
char m_scFilename [SIGSIM_STRING_SIZE]
 scattering center file name
char m_pipFilename [SIGSIM_STRING_SIZE]
 Particle Input Parameters (.PIP) or plume fit (.PFIT) file name.
char m_msicFilename [SIGSIM_STRING_SIZE]
 Point source (.MSIC) file name.
char m_smokeGeometryFileName [SIGSIM_STRING_SIZE]
 Geometry file name for smoke that is part of a flare instance.
char m_smokeMaterialSystemFileName [SIGSIM_STRING_SIZE]
 material system file name for smoke that is part of a flare instance
char m_smokePipFilename [SIGSIM_STRING_SIZE]
 Particle Input Parameters file name for smoke that is part of a flare instance.
double m_thermalSpinUp
 thermal spin up time for this object - hours
bool m_fullResponseEnable
 flag to determine whether the full response is used for mcm texture or not for poly temperature.
bool m_includeEmissivity
 flag to indicate whether to include the emissivity in the response table or leave it for the gpu processing.
bool m_ematType
 flag indicating whether eigen materials are being used.
double m_visAlpha
 Visible-band scaled particle effect alpha signature.
double m_visReflectivity
 Visible-band scaled particle effect reflectivity signature.
double m_visEmission
 Visible-band scaled particle effect emission signature.
bool m_isDirty
 flag to indicate whether particle system spectral signatures need to be updated
double m_worldXCoord
 world X position of entity
double m_worldYCoord
 world Y position of entity
double m_worldZCoord
 world Z position of entity
double m_offsetTranslationX
double m_offsetTranslationY
double m_offsetTranslationZ
double m_offsetOrientationYaw
double m_offsetOrientationPitch
double m_offsetOrientationRoll
float m_intensityFactor
int m_numHFT
float * m_HFT
float m_HFTTimeInterval
double m_HFTLoadTime
double m_HFTLastUpdate
float * m_specialEffectsReponse
 response array for special effects
ObjectBrdfEnum m_brdf
 The BRDF to use.
float m_roughness
 BRDF roughness factor.
SL_CLOUDsl_cloud
Category m_category

Static Private Attributes

static int s_objectId

Friends

class SigSimRT

Detailed Description

class wrapper for the object functions in SigSim library

Member Enumeration Documentation

BRDF type to be used.

Enumerator:
ORIGINAL_PHONG 
SR 
BECKMANN 
PHONG 
Enumerator:
NONE 
CIRROCUMULUS 
CIRRUS_FIBRATUS 
STRATUS 
CUMULUS_MEDIOCRIS 
CUMULUS_CONGESTUS 
CUMULUS_CONGESTUS_HI_RES 
CUMULONIMBUS_CAPPILATUS 
STRATOCUMULUS 
TOWERING_CUMULUS 
Description
Enumerates the different kinds of entities. KEEP THIS SYNCHED WITH ciEntity CATEGORY IN ciEntity.h !
Enumerator:
defaultCategory 
clouds 
specialeffect 
diguy 
water 
speedtree 
rdg 
ship 
aircraft 
storm 
plume 
embedk 
pointsource 
emsig 

Constructor & Destructor Documentation

ssObject::ssObject ( )

constructor

virtual ssObject::~ssObject ( )
virtual

destructor

Member Function Documentation

double ssObject::getThermalSpinUpTime ( )

get the thermal spin up period

Returns
double
bool ssObject::setThermalSpinUpTime ( double  hours)

set the thermal spin up period

Parameters
hours
Returns
bool
float* ssObject::getResponseData ( ssSensor sensor,
unsigned int numMaterials,
unsigned int numBins,
unsigned int numParameters 
)

get the response data in float array form for a particular sensor useful for binding to a texture table is organized as float responseData[material][wavelength][parameter] There are 12 parameters per spectral wavelength per material.

If the full response flag is selected then the parameters are defined as: 0: ambient reflectivity - unitless 0-1 1: diffuse reflectivity - unitless 0-1 2: base emission - unitless (radiance scaled by max radiance) 3: directional solar/sun emission - unitless (radiance scaled by max radiance) 4: specular reflectivity - unitless 0-1 5: shininess - unitless 0-127 6: directional earth emission 7: directional sky emission If the full response flag is false then the parameters are defined as: 0: ambient reflectivity - unitless 0-1 1: diffuse reflectivity - unitless 0-1 2: emissivity - unitless 0-1 3: unused 4: specular reflectivity - unitless 0-1 5: shininess - unitless 0-127 6: unused 7: unused

the last 4 are the Sandford Robertson parameters 8: SR reflectance 9: SR lobe width 10: SR emissivity 11: SR grazingB

Parameters
sensor
numMaterials
numBins
numParameters
Returns
float *
float* ssObject::getSandfordRobertsonResponseData ( ssSensor sensor,
unsigned int numMaterials,
unsigned int numBins,
unsigned int numParameters 
)

get the Sandford Robertson response data in float array form for a particular sensor

Parameters
sensor
numMaterials
numBins
numParameters
Returns
float *
float* ssObject::getVisualData ( unsigned int numMaterials,
ssSensor sensor 
)

Gets the visual band response data for a particular object.

Parameters
numMaterials
sensor
Returns
pointer to float array suitable for use in a texture
void ssObject::getMaterialResponse ( ssSensor sensor,
unsigned int  matCode,
float &  ambient,
float &  emission,
float &  cosEmission 
)

Gets the response data for a particular sensor and material code.

Parameters
sensor
matCode
ambient
emission
cosEmission
unsigned int ssObject::getNumberResponses ( )

gets the number of responses for an entity

Returns
unsigned int
unsigned int ssObject::getNumberResponseValues ( )

gets the number of response values used in the response table

Returns
unsigned int
unsigned int ssObject::getNumberMaterials ( )

gets the number of materials for an entity

Returns
unsigned int
int ssObject::getObjectType ( )

get the object type

Returns
int
void ssObject::setObjectType ( const int  type)
Parameters
int
char* ssObject::getName ( )

get the object name

Returns
char
void ssObject::setName ( const char *  name)
Parameters
name
int ssObject::getUniqueID ( )

get the object id.

must be unique to distiguish object

Returns
int
bool ssObject::setUniqueID ( int  id)

set the object id.

must be unique to distiguish object This is normally automatically set to the next ID when the object is created, so use a number high enough to avoid duplication.

Returns
bool true if greater than current id
  • user needs to monitor duplication of user defined.
void ssObject::setFullResponseEnable ( bool  flag)

sets the full response flag full response flag - set true for mcm textures - false for temperature maps/poly level temperatures indicates whether to place the full response in the response data or leave the emission value to be combined in the GPU

Returns
bool
bool ssObject::getFullResponseEnable ( )

get the full response flag

Returns
bool
void ssObject::setIncludeEmissivity ( bool  flag)

set the Include Emissivity flag flag indicating whether to combine the temperature with the emissivity for the full emission respons in the response data or leave the emissivity value to be combined in the GPU

Returns
bool
bool ssObject::getIncludeEmissivity ( )

get the Include Emissivity flag

Returns
bool
void ssObject::setGeometryFileName ( char *  name)
Parameters
name
char* ssObject::getGeometryFileName ( )
Returns
char *
void ssObject::setMaterialSystemFileName ( char *  name)
Parameters
name
char* ssObject::getMaterialSystemFileName ( )
Returns
char *
void ssObject::setSCfilename ( char *  name)
Parameters
name
char* ssObject::getSCfilename ( )
Returns
char *
void ssObject::setRCSfilename ( char *  name)
Parameters
name
char* ssObject::getRCSfilename ( )
Returns
char *
void ssObject::setPIPfilename ( char *  name = NULL)
Parameters
name
char* ssObject::getPIPfilename ( )
Returns
char *
void ssObject::setMSICfilename ( char *  name = NULL)
Parameters
name
char* ssObject::getMSICfilename ( )
Returns
char *
void ssObject::setSmokeMaterialSystemFileName ( char *  name)

Only applicable if this object is of a type flare.

Parameters
name
char* ssObject::getSmokeMaterialSystemFileName ( )

Only applicable if this object is of a type flare.

Returns
char *
void ssObject::setSmokeGeometryFileName ( char *  name)

Only applicable if this object is of a type flare.

Parameters
name
char* ssObject::getSmokeGeometryFileName ( )

Only applicable if this object is of a type flare.

Returns
char *
void ssObject::setSmokePIPfilename ( char *  name = NULL)

Only applicable if this object is of a type flare.

Parameters
name
char* ssObject::getSmokePIPfilename ( )

Only applicable if this object is of a type flare.

Returns
char *
void ssObject::setTrackFileName ( char *  name)
Parameters
name
char* ssObject::getTrackFileName ( )
Returns
char *
void ssObject::setIndex ( int  i)
Parameters
i
int ssObject::getIndex ( )
Returns
int
void ssObject::setMaterialSet ( const std::shared_ptr< ssMaterialSet > &  set)
Parameters
set
ssMaterialSet* ssObject::getMaterialSet ( ) const
Returns
ssMaterialSet
std::shared_ptr<ssMaterialSet> ssObject::getMaterialSetPtr ( ) const
Returns
ssMaterialSet managed pointer
void ssObject::setGeocentricLocation ( double  x,
double  y,
double  z 
)

set the geocentric location (meters)

Parameters
x= distance [m] away from ellipsoid center along direction to prime meridian
y= distance [m] away from ellipsoid center along direction to east longitudinal meridian
z= distance [m] away from ellipsoid center along direction to North geodetic pole
void ssObject::getGeocentricLocation ( double &  x,
double &  y,
double &  z 
)

get the geocentric location (meters)

Parameters
x= distance [m] away from ellipsoid center along direction to prime meridian
y= distance [m] away from ellipsoid center along direction to east longitudinal meridian
z= distance [m] away from ellipsoid center along direction to North geodetic pole
void ssObject::setGeodeticLocation ( double  lat,
double  lon,
double  alt 
)

set the geodetic location (degrees, degrees, meters)

Parameters
latin degrees, -90=SouthPole, 90=NorthPole
lonin degrees, 0=Prime Meridian, 359=1deg West of Prime Meridian
altin meters, above ellipsoid
void ssObject::getGeodeticLocation ( double &  lat,
double &  lon,
double &  alt 
)

get the geodetic location (degrees, degrees, meters)

Parameters
latin degrees, -90=SouthPole, 90=NorthPole
lonin degrees, 0=Prime Meridian, 359=1deg West of Prime Meridian
altin meters, above ellipsoid
void ssObject::setOrientation ( double  h,
double  p,
double  r 
)

set the body FRD orientation relative to local NED coords (radians)

Parameters
h= angle [rad] of 1st rotation : clockwise about body +z axis
p= angle [rad] of 2nd rotation : clockwise about new body +y axis
r= angle [rad] of 3rd rotation : clockwise about (even newer) body +x axis
void ssObject::getOrientation ( double &  h,
double &  p,
double &  r 
)

get the body FRD orientation relative to local NED coords (radians)

Parameters
h= angle [rad] of 1st rotation : clockwise about body +z axis
p= angle [rad] of 2nd rotation : clockwise about new body +y axis
r= angle [rad] of 3rd rotation : clockwise about (even newer) body +x axis
void ssObject::setLinearVelocity ( double  e,
double  n,
double  u 
)

set linear velocity in local ENU coords (m/s)

Parameters
e- East component
n- North component
u- Up component
void ssObject::getLinearVelocity ( double &  e,
double &  n,
double &  u 
)

get linear velocity in local ENU coords (m/s)

Parameters
e- East component
n- North component
u- Up component
void ssObject::setLinearAcceleration ( double  e,
double  n,
double  u 
)

set linear acceleration in local ENU coords (m/s2)

Parameters
e- East component
n- North component
u- Up component
void ssObject::getLinearAcceleration ( double &  e,
double &  n,
double &  u 
)

get linear acceleration in local ENU coords (m/s2)

Parameters
e- East component
n- North component
u- Up component
void ssObject::setAngularVelocity ( double  e,
double  n,
double  u 
)

set Angular velocity in local ENU coords (rad/s) Magnitude gives speed clockwise about direction.

Parameters
e- East component
n- North component
u- Up component
void ssObject::getAngularVelocity ( double &  e,
double &  n,
double &  u 
)

get Angular velocity in local ENU coords (rad/s) Magnitude gives speed clockwise about direction.

Parameters
e- East component
n- North component
u- Up component
void ssObject::setAngularAcceleration ( double  e,
double  n,
double  u 
)

set angular acceleration in local ENU coords (rad/s2) Magnitude gives acceleration clockwise about direction.

Parameters
e- East component
n- North component
u- Up component
void ssObject::getAngularAcceleration ( double &  e,
double &  n,
double &  u 
)

get angular acceleration in local ENU coords (rad/s2) Magnitude gives acceleration clockwise about direction.

Parameters
e- East component
n- North component
u- Up component
void ssObject::setTimeActivated ( double  time = 0.0)

ssObject::setTimeActivated

description: set activation time

Parameters
double [s]
double ssObject::getTimeActivated ( void  )

ssObject::getTimeActivated

description: get activation time

Returns
: double [s]
void ssObject::setHFTTimeLastUpdated ( double  time)

ssObject::setHFTTimeLastUpdated

description: set time this entity's HFT state was last updated

Parameters
double [s]
double ssObject::getHFTTimeLastUpdated ( void  )

ssObject::getHFTTimeLastUpdated

description: get time this entity's HFT state was last updated

Returns
: double [s]
void ssObject::setHFTTimeLLoaded ( double  time)

ssObject::setHFTTimeLoaded

description: set time this entity's HFT data was loaded/triggered.

Parameters
double [s]
double ssObject::getHFTTimeLoaded ( void  )

ssObject::getHFTTimeLoaded

description: get time this entity's HFT data was loaded/triggered.

Returns
: double [s]
void ssObject::ResetHFT ( )

ssObject::ResetHFT

description: Sets all HFT parameters, and current IntensityFactor, back to their default values, and deletes the HFT array.

Parameters
:None
Returns
: None
bool ssObject::LoadHFTFile ( char *  infile,
double  current 
)

ssObject::LoadHFTFile

description: Loads a High-Frequency Temporal (.HFT) file from disk. Overwrites any existing HFT data for this entity.

Parameters
:Full path to HFT file on disk.
:Current scenario time [s]
Returns
: true on success
void ssObject::UpdateHFT ( double  current,
double  dwell_secs = UPLIM 
)

ssObject::UpdateHFT

description: Computes/sets the current IntensityFactor based on an integral of the HFT multiplier array over the time since last update.

Parameters
:Current scenario time [s], and optional dwell time [s] (set = UPLIM if no decay desired).
Returns
: None
void ssObject::setTrack ( TRACK track,
int  numTracks 
)

set track

Parameters
track
numTracks
void ssObject::setTrackfileUpdate ( double  simTime,
::ellipsoid ellipsoid 
)

set track file update

Parameters
simTime
ellipsoid
ssObject* ssObject::getPtr ( )
OBJECT* ssObject::getObjectPtr ( )

get the SigSim object structure...

be careful! WARNING: This method will be moved to private in an upcoming release to avoid the possibilty of users corrupting the underlying 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
OBJECT
bool ssObject::thermalSpinUp ( ssEnvironment env)

spins up the thermal systems for the specified duration in hours

Parameters
env
Returns
bool
bool ssObject::isEmatType ( )

returns true if set is being used with eigen materials

Returns
bool
void ssObject::setEmatType ( bool  flag)

set flag indicating whether the set is to be used with eigen materials.

Parameters
flag
bool ssObject::initialize ( char *  dataDir = NULL)

initializes the object's special effects.

Assumes the sigsim object structure has been filled

Parameters
dataDir- data directory to use to find the files
Returns
true if it initializes
bool ssObject::update ( ssEnvironment env)

Updates object.

Parameters
env- pointer to environment object used
void ssObject::copyIntrinsicParams ( ssObject from)

copies all possible independent params from one ssObject to another

Parameters
from- pointer to object copied from
void ssObject::setIsDirty ( bool  flag)

set all possible independent params from one ssObject to another

Parameters
flag- indicates the object parameters have changed
bool ssObject::isDirty ( )

query whether the object's parameters have changed

Returns
indicates the object parameters have changed
void ssObject::setWorldLocation ( double  x,
double  y,
double  z 
)

Set the world location of the object.

Parameters
x- world x position
y- world y position
z- world altitude
void ssObject::getWorldLocation ( double &  x,
double &  y,
double &  z 
)

get the world position out of ssObject

Parameters
x- world x position
y- world y position
z- world altitude
bool ssObject::isFlareObject ( ) const
inline
void ssObject::setObjectIntensityFactor ( float  intensity)
inline
float ssObject::getObjectIntensityFactor ( ) const
inline
void ssObject::setBrdf ( ObjectBrdfEnum  v)

set the BRDF type

ObjectBrdfEnum ssObject::getBrdf ( )

get the BRDF type

void ssObject::setRoughness ( float  r)

set the roughness parameter for the BRDF

float ssObject::getRoughness ( )

get the roughness paramater for the BRDF

int ssObject::ProcessSL_CLOUD ( ssEnvironment env,
double  H2O_density_gpm3,
double  voxdim_m 
)
SL_CLOUD* ssObject::getSL_CLOUD ( void  )
void ssObject::FreeSL_CLOUDArrays ( bool  init)
int ssObject::AllocateSL_CLOUDArrays ( long  nlambda)
int ssObject::getSL_CLOUDPassbandSignature ( ssSensor sensor,
ssEnvironment env,
double &  emission,
double &  reflectivity,
double &  alpha,
double &  g1,
double &  g2,
double &  f 
)
void ssObject::setSLCloudGeometry ( SL_CLOUD_TYPE  type,
double  basealt_m,
double  thickness_m,
double  extent_m,
double  coverage 
)
int ssObject::getSLCloudGeometry ( SL_CLOUD_TYPE type,
double &  basealt_m,
double &  thickness_m,
double &  extent_m,
double &  coverage 
)
Category ssObject::getCategory ( )
void ssObject::setCategory ( Category  category)
void ssObject::setOffsetTranslation ( double  X,
double  Y,
double  Z 
)
void ssObject::getOffsetTranslation ( double &  X,
double &  Y,
double &  Z 
)
void ssObject::setOffsetOrientation ( double  yaw,
double  pitch,
double  roll 
)
void ssObject::getOffsetOrientation ( double &  yaw,
double &  pitch,
double &  roll 
)
virtual void ssObject::updateInternal ( ssEnvironment env,
bool  forceUpdate 
)
privatevirtual
void ssObject::setObjectPtr ( OBJECT objectPtr)
private

set the SigSim object structure

Parameters
OBJECT*objectPtr

Friends And Related Function Documentation

friend class SigSimRT
friend

Member Data Documentation

bool ssObject::m_isFlare
protected

flag to indicate whether this object is of a type flare or not

int ssObject::m_index
private

index storage value for defining an OBJECT array

int ssObject::m_id
private

unique ID for this object. Must be different than any other object

std::shared_ptr<ssMaterialSet> ssObject::m_materialSet
private

material set for this object

OBJECT* ssObject::m_objectPtr
private

SigSim object objects.

bool ssObject::m_objectPtr_alloc
private

Indicates whether m_objectPtr was allocated by this instance.

char ssObject::m_trackFileName[SIGSIM_STRING_SIZE]
private

track file name

char ssObject::m_materialSystemFileName[SIGSIM_STRING_SIZE]
private

material system file name

char ssObject::m_dataDirectory[SIGSIM_STRING_SIZE]
private

SigSim data directory.

char ssObject::m_geometryFilename[SIGSIM_STRING_SIZE]
private

Geometry file name.

char ssObject::m_rcsFilename[SIGSIM_STRING_SIZE]
private

radar cross section file name

char ssObject::m_scFilename[SIGSIM_STRING_SIZE]
private

scattering center file name

char ssObject::m_pipFilename[SIGSIM_STRING_SIZE]
private

Particle Input Parameters (.PIP) or plume fit (.PFIT) file name.

char ssObject::m_msicFilename[SIGSIM_STRING_SIZE]
private

Point source (.MSIC) file name.

char ssObject::m_smokeGeometryFileName[SIGSIM_STRING_SIZE]
private

Geometry file name for smoke that is part of a flare instance.

char ssObject::m_smokeMaterialSystemFileName[SIGSIM_STRING_SIZE]
private

material system file name for smoke that is part of a flare instance

char ssObject::m_smokePipFilename[SIGSIM_STRING_SIZE]
private

Particle Input Parameters file name for smoke that is part of a flare instance.

double ssObject::m_thermalSpinUp
private

thermal spin up time for this object - hours

bool ssObject::m_fullResponseEnable
private

flag to determine whether the full response is used for mcm texture or not for poly temperature.

bool ssObject::m_includeEmissivity
private

flag to indicate whether to include the emissivity in the response table or leave it for the gpu processing.

bool ssObject::m_ematType
private

flag indicating whether eigen materials are being used.

double ssObject::m_visAlpha
private

Visible-band scaled particle effect alpha signature.

double ssObject::m_visReflectivity
private

Visible-band scaled particle effect reflectivity signature.

double ssObject::m_visEmission
private

Visible-band scaled particle effect emission signature.

bool ssObject::m_isDirty
private

flag to indicate whether particle system spectral signatures need to be updated

double ssObject::m_worldXCoord
private

world X position of entity

double ssObject::m_worldYCoord
private

world Y position of entity

double ssObject::m_worldZCoord
private

world Z position of entity

double ssObject::m_offsetTranslationX
private
double ssObject::m_offsetTranslationY
private
double ssObject::m_offsetTranslationZ
private
double ssObject::m_offsetOrientationYaw
private
double ssObject::m_offsetOrientationPitch
private
double ssObject::m_offsetOrientationRoll
private
float ssObject::m_intensityFactor
private
int ssObject::m_numHFT
private
float* ssObject::m_HFT
private
float ssObject::m_HFTTimeInterval
private
double ssObject::m_HFTLoadTime
private
double ssObject::m_HFTLastUpdate
private
float* ssObject::m_specialEffectsReponse
private

response array for special effects

ObjectBrdfEnum ssObject::m_brdf
private

The BRDF to use.

float ssObject::m_roughness
private

BRDF roughness factor.

SL_CLOUD* ssObject::sl_cloud
private
Category ssObject::m_category
private
int ssObject::s_objectId
staticprivate

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


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