ossimCsmSensorModel::ossimCsmSensorModel(const ossimCsmSensorModel& src)
:m_model(0),
m_pluginDir(""), 
m_pluginName(""),
m_sensorName(""){
   setSensorModel(src.m_imageFile, src.m_pluginDir, src.m_pluginName, src.m_sensorName);
}
Exemplo n.º 2
0
//------------------------------------------------------------------------------
// copyData() -- copy member data
//------------------------------------------------------------------------------
void EmissionPduHandler::copyData(const EmissionPduHandler& org, const bool cc)
{
   BaseClass::copyData(org);
   if (cc) initData();

   // Copy handler info
   setEmitterName( org.emitterName );
   setEmitterFunction( org.emitterFunction );
   noTemplatesFound = org.noTemplatesFound;
   defaultIn = org.defaultIn;
   defaultOut = org.defaultOut;

   // But clear out the rest (so we can start over as a new handler)
   emPduExecTime = 0;

   setSensor(nullptr);

   setSensorModel(nullptr);
   if (org.getSensorModel() != nullptr) {
      simulation::RfSensor* tmp = org.getSensorModel()->clone();
      setSensorModel(tmp);
      tmp->unref();
   }

   setAntennaModel(nullptr);
   if (org.getAntennaModel() != nullptr) {
      simulation::Antenna* tmp = org.getAntennaModel()->clone();
      setAntennaModel(tmp);
      tmp->unref();
   }

   // ---
   // copy the saved (N-1) data
   // ---
   setSavedEmissionSystemData( *( org.getSavedEmissionSystemData() ) );

   for (unsigned int j = 0; j < MAX_EM_BEAMS; j++) {

      setSavedEmitterBeamData( j,  *( org.getSavedEmitterBeamData(j) ) );

      for (int k = 0; k < MAX_TARGETS_IN_TJ_FIELD; k++) {
         setSavedTrackJamTargetData(j, k, *( org.getSavedTrackJamTargetData(j,k) ) );
      }
   }
}
Exemplo n.º 3
0
//------------------------------------------------------------------------------
// deleteData() -- delete member data
//------------------------------------------------------------------------------
void EmissionPduHandler::deleteData()
{
   if (sensor != nullptr) { sensor->event(oe::base::Component::SHUTDOWN_EVENT); }
   setSensor(nullptr);

   if (sensorModel != nullptr) { sensorModel->event(oe::base::Component::SHUTDOWN_EVENT); }
   setSensorModel(nullptr);

   if (antennaModel != nullptr) { antennaModel->event(oe::base::Component::SHUTDOWN_EVENT); }
   setAntennaModel(nullptr);
}
bool ossimCsmSensorModel::loadState(const ossimKeywordlist& kwl,
                                    const char* prefix)
{
   bool result = ossimSensorModel::loadState(kwl, prefix);
   if(result)
   {
      ossimString plugin_dir = kwl.find(prefix, "plugin_dir");
      ossimString plugin_name = kwl.find(prefix, "plugin_name");
      ossimString sensor_name = kwl.find(prefix, "sensor_name");
      ossimString image_file  = kwl.find(prefix, "image_file");
      
      result = setSensorModel(image_file.c_str(), plugin_dir.c_str(), plugin_name.c_str(), sensor_name.c_str());
      
   }
   
   return result;
}
Exemplo n.º 5
0
// Sets our template sensor model
bool EmissionPduHandler::setSlotSensorTemplate(simulation::RfSensor* const msg)
{
   return setSensorModel(msg);
}