#include "visualGUI_externalLinkVCL.h" visualGUI_externalLinkVCL::visualGUI_externalLinkVCL(QObject *parent, visualGUI_externalDataContainer* externalDataContainer_ ) : visualGUI_externalLink(parent) { initialized = false; externalDataContainer = externalDataContainer_; } visualGUI_externalLinkVCL::~visualGUI_externalLinkVCL() { } bool visualGUI_externalLinkVCL::InitExternalLink() { std::cout << "Initializing ExternalLink" << std::endl; CVCLIO::GetInstance().LoadProject("osgVisual_out.xml"); if( !CAMERA_POSITION_LATITUDE.Attach("OSGVISCONTROL_OUT", "SAENGER2_POS_LAT") ) return false; if( !CAMERA_POSITION_LONGITUDE.Attach("OSGVISCONTROL_OUT", "SAENGER2_POS_LON") ) return false; if( !CAMERA_POSITION_ALTITUDE.Attach("OSGVISCONTROL_OUT", "SAENGER2_POS_ALT") ) return false; if( !OBJECT_BANK_PHI.Attach("OSGVISCONTROL_OUT", "SAENGER2_ROT_X") ) return false; if( !OBJECT_PITCH_THETA.Attach("OSGVISCONTROL_OUT", "SAENGER2_ROT_Y") ) return false; if( !OBJECT_AZIMUTH_PSI.Attach("OSGVISCONTROL_OUT", "SAENGER2_ROT_Z") ) return false; if( !TRACKING_ID.Attach("OSGVISCONTROL_OUT", "TRACKING_ID") ) return false; //if( !IS_VALID.Attach("VISENGINE_CAMERA_CHANNEL_SEND", "IS_VALID") ) // return false; initialized = true; return true; } void visualGUI_externalLinkVCL::processExternalLink() { if (!initialized) return; // Send Data //std::cout << "processing ExternalLink.." << std::endl; //qDebug()<<"Lat: " << externalDataContainer->lat; //qDebug()<<"Lon: " << externalDataContainer->lon; //qDebug()<<"Alt: " << externalDataContainer->alt; //qDebug()<<"bank_phi: " << externalDataContainer->bank_phi; //qDebug()<<"pitch_theta: " << externalDataContainer->pitch_theta; //qDebug()<<"azimuth_psi: " << externalDataContainer->azimuth_psi; CAMERA_POSITION_LATITUDE.SetValue( externalDataContainer->lat ); CAMERA_POSITION_LONGITUDE.SetValue( externalDataContainer->lon ); CAMERA_POSITION_ALTITUDE.SetValue( externalDataContainer->alt ); OBJECT_BANK_PHI.SetValue( externalDataContainer->bank_phi ); OBJECT_PITCH_THETA.SetValue( externalDataContainer->pitch_theta ); OBJECT_AZIMUTH_PSI.SetValue( externalDataContainer->azimuth_psi ); TRACKING_ID.SetValue( externalDataContainer->idToTrack ); IS_VALID.SetValue( 1.23 ); // Transmit anything != Zero CVCLIO::GetInstance().DoDataExchange(); }