]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGMatrix.h
Fixes to jsbsim.
[flightgear.git] / src / FDM / JSBSim / FGMatrix.h
index c7a45d03b05cb8554971d91c6580ec59ca2bc748..0a724f6848dd5cbfd6c855dbb931dca68fa76823 100644 (file)
@@ -23,18 +23,20 @@ INCLUDES
 #include <stdlib.h>
 #ifdef FGFS
 #  include <simgear/compiler.h>
-#  include STL_STRING
 #  ifdef FG_HAVE_STD_INCLUDES
 #    include <fstream>
+#    include <cmath>
 #  else
 #    include <fstream.h>
+#    include <math.h>
 #  endif
-   FG_USING_STD(string);
 #else
-#  include <string>
 #  include <fstream>
+#  include <cmath>
 #endif
 
+#include <string>
+
 /*******************************************************************************
 FORWARD DECLARATIONS
 *******************************************************************************/
@@ -45,7 +47,9 @@ class FGColumnVector;
 DECLARATION: MatrixException
 *******************************************************************************/
 
-using namespace std;
+using std::string;
+using std::ostream;
+using std::istream;
 
 class MatrixException /* :  public exception */  
 {
@@ -120,14 +124,19 @@ public:
   ~FGColumnVector();
 
   FGColumnVector operator*(const double scalar);
+  FGColumnVector operator*(const FGColumnVector& V);   // Cross product operator
   FGColumnVector operator/(const double scalar);
   FGColumnVector operator+(const FGColumnVector& B);
-  float Magnitude(void); 
+  FGColumnVector operator-(const FGColumnVector& B);
+  float Magnitude(void);
   FGColumnVector Normalize(void);
 
   friend FGColumnVector operator*(const double scalar, const FGColumnVector& A);
+  friend FGColumnVector operator*(const FGMatrix& M, const FGColumnVector& V);
 
   double& operator()(int m) const;
+  
+  FGColumnVector multElementWise(const FGColumnVector& V);
 };
 
 /******************************************************************************/