X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FNetwork%2Flfsglass.cxx;h=0289463f836036982711dfe8b24d8446db45f75d;hb=206053722eb59b31ed2fb182044f84bac0058f8a;hp=e8e6adbb92c6d7331eabc55bfd4e73c36d5a25f9;hpb=3db0cf165981bc55c35bd215590b0f90212a860a;p=flightgear.git diff --git a/src/Network/lfsglass.cxx b/src/Network/lfsglass.cxx index e8e6adbb9..0289463f8 100644 --- a/src/Network/lfsglass.cxx +++ b/src/Network/lfsglass.cxx @@ -25,7 +25,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. // #ifdef HAVE_CONFIG_H #include @@ -37,11 +37,12 @@ #include #include "lfsglass.hxx" -#include +#include + #include
#include
-SG_USING_STD(vector); +using std::vector; FGLFSGlass::FGLFSGlass() : press_node(fgGetNode("/environment/pressure-inhg[0]", true)), @@ -127,9 +128,11 @@ bool FGLFSGlass::open() { } //static void collect_data( const FGInterface *fdm, ogcFGData *data ) { -void FGLFSGlass::collect_data( const FGInterface *fdm, FGLFSGlassData *data ) { +void FGLFSGlass::collect_data(FGLFSGlassData *data ) { data->version_id = OGC_VERSION; + FlightProperties fdm_state; + data->longitude = p_longitude->getDoubleValue(); data->latitude = p_latitude->getDoubleValue(); data->elevation = p_elev_node->getDoubleValue(); @@ -143,16 +146,16 @@ void FGLFSGlass::collect_data( const FGInterface *fdm, FGLFSGlassData *data ) { data->vvi = p_vvi->getDoubleValue(); data->mach = p_mach->getDoubleValue(); - data->groundspeed = cur_fdm_state->get_V_ground_speed(); - data->v_keas = cur_fdm_state->get_V_equiv_kts(); + data->groundspeed = fdm_state.get_V_ground_speed(); + data->v_keas = fdm_state.get_V_equiv_kts(); data->v_kcas = vel_kcas->getDoubleValue(); - data->phi_dot = cur_fdm_state->get_Phi_dot(); - data->theta_dot = cur_fdm_state->get_Theta_dot(); - data->psi_dot = cur_fdm_state->get_Psi_dot(); + data->phi_dot = fdm_state.get_Phi_dot(); + data->theta_dot = fdm_state.get_Theta_dot(); + data->psi_dot = fdm_state.get_Psi_dot(); - data->alpha = cur_fdm_state->get_Alpha(); + data->alpha = fdm_state.get_Alpha(); data->beta = p_yaw->getDoubleValue(); data->alpha_dot = p_alphadot->getDoubleValue(); data->beta_dot = p_yaw_rate->getDoubleValue(); @@ -271,9 +274,9 @@ void FGLFSGlass::collect_data( const FGInterface *fdm, FGLFSGlassData *data ) { data->x_feed_valve[2] = x_feed2_node->getBoolValue(); data->x_feed_valve[3] = x_feed3_node->getBoolValue(); **********/ - data->total_temperature = cur_fdm_state->get_Total_temperature(); - data->total_pressure = cur_fdm_state->get_Total_pressure(); - data->dynamic_pressure = cur_fdm_state->get_Dynamic_pressure(); + data->total_temperature = fdm_state.get_Total_temperature(); + data->total_pressure = fdm_state.get_Total_pressure(); + data->dynamic_pressure = fdm_state.get_Dynamic_pressure(); data->static_pressure = press_node->getDoubleValue(); data->static_temperature = temp_node->getDoubleValue(); @@ -282,7 +285,7 @@ void FGLFSGlass::collect_data( const FGInterface *fdm, FGLFSGlassData *data ) { data->sea_level_pressure = fgGetDouble("/environment/sea-level-pressure-inhg"); } -static void distribute_data( const FGLFSGlassData *data, FGInterface *chunk ) { +static void distribute_data( const FGLFSGlassData *data) { // just a place holder until the CDU is developed } @@ -293,7 +296,7 @@ bool FGLFSGlass::process() { int length = sizeof(buf); if ( get_direction() == SG_IO_OUT ) { - collect_data( cur_fdm_state, &buf ); + collect_data(&buf ); //collect_data( &buf ); if ( ! io->write( (char *)(& buf), length ) ) { SG_LOG( SG_IO, SG_ALERT, "Error writing data." ); @@ -303,12 +306,12 @@ bool FGLFSGlass::process() { if ( io->get_type() == sgFileType ) { if ( io->read( (char *)(& buf), length ) == length ) { SG_LOG( SG_IO, SG_DEBUG, "Success reading data." ); - distribute_data( &buf, cur_fdm_state ); + distribute_data( &buf); } } else { while ( io->read( (char *)(& buf), length ) == length ) { SG_LOG( SG_IO, SG_DEBUG, "Success reading data." ); - distribute_data( &buf, cur_fdm_state ); + distribute_data( &buf); } } }