12 #ifndef ossimColumnVector3d_HEADER 13 #define ossimColumnVector3d_HEADER 47 if ( (rhs.Ncols() == 1) && (rhs.Nrows() > 2) )
63 if ( (rhs.Ncols() == 1) && (rhs.Nrows() == 3) )
74 return out << setiosflags(ios::fixed) << setprecision(15)
75 << v[0] <<
" " << v[1] <<
" " 96 if ((lhs.Ncols() == 3) && (lhs.Nrows() == 3))
99 (lhs[1][0]*rhs[0] + lhs[1][1]*rhs[1] + lhs[1][2]*rhs[2]),
100 (lhs[2][0]*rhs[0] + lhs[2][1]*rhs[1] + lhs[2][2]*rhs[2]));
102 else if((lhs.Ncols() == 4) && (lhs.Nrows() == 4))
104 return ossimColumnVector3d( (lhs[0][0]*rhs[0] + lhs[0][1]*rhs[1] + lhs[0][2]*rhs[2] + lhs[0][3]) ,
105 (lhs[1][0]*rhs[0] + lhs[1][1]*rhs[1] + lhs[1][2]*rhs[2] + lhs[1][3]) ,
106 (lhs[2][0]*rhs[0] + lhs[2][1]*rhs[1] + lhs[2][2]*rhs[2] + lhs[2][3]));
112 double& operator [](
int index)
117 const double& operator [](
int index)
const 185 {
return ((fabs(data[0] - rhs[0]) <=
FLT_EPSILON) &&
191 {
return !(*
this == rhs); }
195 return sqrt(data[0]*data[0] +
201 return data[0]*data[0] +
207 return (data[0]*rhs[0]+
214 double mag = magnitude();
228 data[2]*rhs[0] - data[0]*rhs[2],
229 data[0]*rhs[1] - data[1]*rhs[0]);
280 void toPoint(
const std::string& s);
ossimColumnVector3d cross(const ossimColumnVector3d &rhs) const
const ossimColumnVector3d & yAligned()
ossimRationalNumber operator-(ossim_int32 i, ossimRationalNumber &r)
bool operator!=(const ossimRefPtr< _Tp1 > &__a, const ossimRefPtr< _Tp2 > &__b) noexcept
double dot(const ossimColumnVector3d &rhs) const
ossimRationalNumber operator/(ossim_int32 i, ossimRationalNumber &r)
ossimColumnVector3d unit() const
ossimColumnVector3d operator*(double scalar) const
friend ossimColumnVector3d operator*(const NEWMAT::Matrix &lhs, const ossimColumnVector3d &rhs)
ossimColumnVector3d(double x, double y, double z=0)
const ossimColumnVector3d & operator=(const NEWMAT::ColumnVector &rhs)
ostream & operator<<(ostream &out, const ossimAxes &axes)
ossimColumnVector3d(const NEWMAT::ColumnVector &rhs)
friend ossimColumnVector3d operator*(double scalar, const ossimColumnVector3d &v)
unsigned int ossim_uint32
bool operator==(const ossimRefPtr< _Tp1 > &__a, const ossimRefPtr< _Tp2 > &__b) noexcept
const ossimColumnVector3d & xAligned()
ossimRationalNumber operator+(ossim_int32 i, ossimRationalNumber &r)
const ossimColumnVector3d & zAligned()
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
std::basic_ostream< char > ostream
Base class for char output streams.
double norm2() const
speedup