Author: Jon Berndt
Date started: 12/2/98
- ------------- Copyright (C) 1999 Jon S. Berndt (jsb@hal-pc.org) -------------
+ ------------- Copyright (C) 1999 Jon S. Berndt (jon@jsbsim.org) -------------
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free Software
#include "FGModel.h"
-#include <iostream>
#include <fstream>
-#include "input_output/FGfdmSocket.h"
#include "input_output/FGXMLFileRead.h"
#include "input_output/net_fdm.hxx"
-
+#include "input_output/FGfdmSocket.h"
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DEFINITIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-#define ID_OUTPUT "$Id$"
+#define ID_OUTPUT "$Id: FGOutput.h,v 1.19 2010/10/31 04:48:46 jberndt Exp $"
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FORWARD DECLARATIONS
namespace JSBSim {
+class FGfdmSocket;
+
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CLASS DOCUMENTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
propulsion ON|OFF
</pre>
NOTE that Time is always output with the data.
- @version $Id$
+ @version $Id: FGOutput.h,v 1.19 2010/10/31 04:48:46 jberndt Exp $
*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bool InitModel(void);
bool Run(void);
- void DelimitedOutput(string);
+ void DelimitedOutput(const std::string&);
void SocketOutput(void);
void FlightGearSocketOutput(void);
- void SocketStatusOutput(string);
+ void SocketStatusOutput(const std::string&);
void SocketDataFill(FGNetFDM* net);
-
- void SetType(string);
+ void SetType(const std::string& type);
+ void SetProtocol(const std::string& protocol);
+ void SetPort(const std::string& port);
void SetStartNewFile(bool tt) {StartNewFile = tt;}
void SetSubsystems(int tt) {SubSystems = tt;}
+ void SetOutputFileName(const std::string& fname) {Filename = fname;}
+ void SetDirectivesFile(const std::string& fname) {DirectivesFile = fname;}
+ void SetRate(int rt);
void Enable(void) { enabled = true; }
void Disable(void) { enabled = false; }
bool Toggle(void) {enabled = !enabled; return enabled;}
+
bool Load(Element* el);
- void SetOutputFileName(string fname) {Filename = fname;}
- void SetDirectivesFile(string fname) {DirectivesFile = fname;}
- void SetRate(int rt);
string GetOutputFileName(void) const {return Filename;}
/// Subsystem types for specifying which will be output in the FDM data logging
/** Subsystem: Propulsion (= 4096) */ ssPropulsion = 4096
} subsystems;
-
FGNetFDM fgSockBuf;
private:
enum {otNone, otCSV, otTab, otSocket, otTerminal, otFlightGear, otUnknown} Type;
+ FGfdmSocket::ProtocolType Protocol;
bool sFirstPass, dFirstPass, enabled;
int SubSystems;
int runID_postfix;
bool StartNewFile;
- string output_file_name, delimeter, BaseFilename, Filename, DirectivesFile;
- ofstream datafile;
+ std::string output_file_name, delimeter, BaseFilename, Filename, DirectivesFile;
+ std::string Port;
+ std::ofstream datafile;
FGfdmSocket* socket;
- FGfdmSocket* flightGearSocket;
- vector <FGPropertyManager*> OutputProperties;
+ std::vector <FGPropertyManager*> OutputProperties;
void Debug(int from);
};