OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Attributes | Friends | List of all members
ossimColumnVector4d Class Reference

#include <ossimColumnVector4d.h>

Public Member Functions

 ossimColumnVector4d ()
 
 ossimColumnVector4d (double x, double y, double z, double w=1.0)
 
 ossimColumnVector4d (const ossimColumnVector4d &rhs)
 
double & operator[] (int index)
 
const double & operator[] (int index) const
 
ossimColumnVector4d operator* (double scalar) const
 
ossimColumnVector4d operator+ (const ossimColumnVector4d &rhs) const
 
ossimColumnVector4d operator+= (const ossimColumnVector4d &rhs)
 
ossimColumnVector4d operator- () const
 
ossimColumnVector4d operator/ (double scalar) const
 
ossimColumnVector4doperator/= (double scalar)
 
ossimColumnVector4d operator- (const ossimColumnVector4d &rhs) const
 
ossimColumnVector4d operator-= (const ossimColumnVector4d &rhs)
 
double magnitude () const
 
double dot (const ossimColumnVector4d &rhs) const
 
ossimColumnVector4d unit () const
 
ossimColumnVector4d cross (const ossimColumnVector4d &rhs)
 
ossimColumnVector4dxAligned ()
 
ossimColumnVector4dyAligned ()
 
ossimColumnVector4dzAligned ()
 

Private Attributes

double data [4]
 

Friends

ostream & operator<< (ostream &out, const ossimColumnVector4d &v)
 
ossimColumnVector4d operator* (double scalar, const ossimColumnVector4d &v)
 

Detailed Description

Definition at line 22 of file ossimColumnVector4d.h.

Constructor & Destructor Documentation

◆ ossimColumnVector4d() [1/3]

ossimColumnVector4d::ossimColumnVector4d ( )
inline

Definition at line 25 of file ossimColumnVector4d.h.

26  {
27  data[0]=0;
28  data[1]=0;
29  data[2]=0;
30  data[3]=1;
31  }

◆ ossimColumnVector4d() [2/3]

ossimColumnVector4d::ossimColumnVector4d ( double  x,
double  y,
double  z,
double  w = 1.0 
)
inline

Definition at line 33 of file ossimColumnVector4d.h.

References x, and y.

34  {
35  data[0]=x;
36  data[1]=y;
37  data[2]=z;
38  data[3]=w;
39  }
ossim_uint32 x
ossim_uint32 y

◆ ossimColumnVector4d() [3/3]

ossimColumnVector4d::ossimColumnVector4d ( const ossimColumnVector4d rhs)
inline

Definition at line 41 of file ossimColumnVector4d.h.

References data.

42  {
43  data[0] = rhs.data[0];
44  data[1] = rhs.data[1];
45  data[2] = rhs.data[2];
46  data[3] = rhs.data[3];
47  }

Member Function Documentation

◆ cross()

ossimColumnVector4d ossimColumnVector4d::cross ( const ossimColumnVector4d rhs)
inline

Definition at line 160 of file ossimColumnVector4d.h.

161  {
162  return ossimColumnVector4d( data[1]*rhs[2] - data[2]*rhs[1],
163  data[2]*rhs[0] - data[0]*rhs[2],
164  data[0]*rhs[1] - data[1]*rhs[0]);
165  }

◆ dot()

double ossimColumnVector4d::dot ( const ossimColumnVector4d rhs) const
inline

Definition at line 140 of file ossimColumnVector4d.h.

141  {
142  return (data[0]*rhs[0]+
143  data[1]*rhs[1]+
144  data[2]*rhs[2]);
145  }

◆ magnitude()

double ossimColumnVector4d::magnitude ( ) const
inline

Definition at line 134 of file ossimColumnVector4d.h.

135  {
136  return std::sqrt(data[0]*data[0] +
137  data[1]*data[1] +
138  data[2]*data[2]);
139  }

◆ operator*()

ossimColumnVector4d ossimColumnVector4d::operator* ( double  scalar) const
inline

Definition at line 72 of file ossimColumnVector4d.h.

73  {
74  return ossimColumnVector4d(data[0]*scalar,
75  data[1]*scalar,
76  data[2]*scalar);
77  }

◆ operator+()

ossimColumnVector4d ossimColumnVector4d::operator+ ( const ossimColumnVector4d rhs) const
inline

Definition at line 79 of file ossimColumnVector4d.h.

80  {
81  return ossimColumnVector4d( data[0]+rhs[0],
82  data[1]+rhs[1],
83  data[2]+rhs[2]);
84  }

◆ operator+=()

ossimColumnVector4d ossimColumnVector4d::operator+= ( const ossimColumnVector4d rhs)
inline

Definition at line 86 of file ossimColumnVector4d.h.

87  {
88  data[0] += rhs[0];
89  data[1] += rhs[1];
90  data[2] += rhs[2];
91 
92  return *this;
93  }

◆ operator-() [1/2]

ossimColumnVector4d ossimColumnVector4d::operator- ( ) const
inline

Definition at line 95 of file ossimColumnVector4d.h.

96  {
97  return ossimColumnVector4d(-data[0],
98  -data[1],
99  -data[2]);
100  }

◆ operator-() [2/2]

ossimColumnVector4d ossimColumnVector4d::operator- ( const ossimColumnVector4d rhs) const
inline

Definition at line 118 of file ossimColumnVector4d.h.

119  {
120  return ossimColumnVector4d( data[0]-rhs[0],
121  data[1]-rhs[1],
122  data[2]-rhs[2]);
123  }

◆ operator-=()

ossimColumnVector4d ossimColumnVector4d::operator-= ( const ossimColumnVector4d rhs)
inline

Definition at line 125 of file ossimColumnVector4d.h.

126  {
127  data[0] -= rhs[0];
128  data[1] -= rhs[1];
129  data[2] -= rhs[2];
130 
131  return *this;
132  }

◆ operator/()

ossimColumnVector4d ossimColumnVector4d::operator/ ( double  scalar) const
inline

Definition at line 102 of file ossimColumnVector4d.h.

103  {
104  return ossimColumnVector4d( data[0]/scalar,
105  data[1]/scalar,
106  data[2]/scalar);
107  }

◆ operator/=()

ossimColumnVector4d& ossimColumnVector4d::operator/= ( double  scalar)
inline

Definition at line 109 of file ossimColumnVector4d.h.

110  {
111  data[0]/=scalar;
112  data[1]/=scalar;
113  data[2]/=scalar;
114 
115  return *this;
116  }

◆ operator[]() [1/2]

double& ossimColumnVector4d::operator[] ( int  index)
inline

Definition at line 62 of file ossimColumnVector4d.h.

63  {
64  return data[index];
65  }

◆ operator[]() [2/2]

const double& ossimColumnVector4d::operator[] ( int  index) const
inline

Definition at line 67 of file ossimColumnVector4d.h.

68  {
69  return data[index];
70  }

◆ unit()

ossimColumnVector4d ossimColumnVector4d::unit ( ) const
inline

Definition at line 147 of file ossimColumnVector4d.h.

References abs, and DBL_EPSILON.

148  {
149  double mag = magnitude();
150 
151  if(std::abs(mag) > DBL_EPSILON)
152  {
153  mag = 1.0/mag;
154  return (*this *mag);
155  }
156 
157  return *this;
158  }
#define abs(a)
Definition: auxiliary.h:74
#define DBL_EPSILON

◆ xAligned()

ossimColumnVector4d& ossimColumnVector4d::xAligned ( )
inline

Definition at line 167 of file ossimColumnVector4d.h.

168  {
169  data[0] = 1;
170  data[1] = 0;
171  data[2] = 0;
172  data[3] = 1;
173 
174  return *this;
175  }

◆ yAligned()

ossimColumnVector4d& ossimColumnVector4d::yAligned ( )
inline

Definition at line 176 of file ossimColumnVector4d.h.

177  {
178  data[0] = 0;
179  data[1] = 1;
180  data[2] = 0;
181  data[3] = 1;
182 
183  return *this;
184  }

◆ zAligned()

ossimColumnVector4d& ossimColumnVector4d::zAligned ( )
inline

Definition at line 185 of file ossimColumnVector4d.h.

186  {
187  data[0] = 0;
188  data[1] = 0;
189  data[2] = 1;
190  data[3] = 1;
191 
192  return *this;
193  }

Friends And Related Function Documentation

◆ operator*

ossimColumnVector4d operator* ( double  scalar,
const ossimColumnVector4d v 
)
friend

Definition at line 55 of file ossimColumnVector4d.h.

56  {
57  return ossimColumnVector4d(v.data[0]*scalar,
58  v.data[1]*scalar,
59  v.data[2]*scalar);
60  }

◆ operator<<

ostream& operator<< ( ostream &  out,
const ossimColumnVector4d v 
)
friend

Definition at line 48 of file ossimColumnVector4d.h.

49  {
50  return out << setiosflags(ios::fixed) << setprecision(15)
51  << v[0] << " " << v[1] <<" "
52  << v[2] << " " << v[3];
53  }

Member Data Documentation

◆ data

double ossimColumnVector4d::data[4]
private

Definition at line 196 of file ossimColumnVector4d.h.

Referenced by ossimColumnVector4d().


The documentation for this class was generated from the following file: