40 #include "FGJSBBase.h"
41 #include "FGColumnVector3.h"
55 FGColumnVector3::FGColumnVector3(
void)
57 data[0] = data[1] = data[2] = 0.0;
63 string FGColumnVector3::Dump(
const string& delimiter)
const
66 buffer << std::setprecision(16) << data[0] << delimiter;
67 buffer << std::setprecision(16) << data[1] << delimiter;
68 buffer << std::setprecision(16) << data[2];
76 os << col(1) <<
" , " << col(2) <<
" , " << col(3);
85 return operator*( 1.0/scalar );
87 cerr <<
"Attempt to divide by zero in method \
88 FGColumnVector3::operator/(const double scalar), \
89 object " << data[0] <<
" , " << data[1] <<
" , " << data[2] << endl;
98 operator*=( 1.0/scalar );
100 cerr <<
"Attempt to divide by zero in method \
101 FGColumnVector3::operator/=(const double scalar), \
102 object " << data[0] <<
" , " << data[1] <<
" , " << data[2] << endl;
109 double FGColumnVector3::Magnitude(
void)
const
111 return sqrt( data[0]*data[0] + data[1]*data[1] + data[2]*data[2] );
118 double Mag = Magnitude();
121 operator*=( 1.0/Mag );
128 double FGColumnVector3::Magnitude(
const int idx1,
const int idx2)
const {
129 return sqrt( data[idx1-1]*data[idx1-1] + data[idx2-1]*data[idx2-1] );
This class implements a 3 element column vector.