LRAUV  revA
Point3D.h
Go to the documentation of this file.
1 
10 #ifndef POINT3D_H_
11 #define POINT3D_H_
12 
13 #include "data/I1D.h"
14 #include "utils/Str.h"
15 
16 class Matrix3x3;
17 
28 class Point3D: public I1D<double>
29 {
30 public:
32  inline void setX( const double x )
33  {
34  value_[0] = x;
35  }
36  inline double getX() const
37  {
38  return value_[0];
39  }
40 
42  inline void setY( const double y )
43  {
44  value_[1] = y;
45  }
46  inline double getY() const
47  {
48  return value_[1];
49  }
50 
52  inline void setZ( const double z )
53  {
54  value_[2] = z;
55  }
56  inline double getZ() const
57  {
58  return value_[2];
59  }
60 
62  inline void setU( const double u )
63  {
64  value_[0] = u;
65  }
66  inline double getU() const
67  {
68  return value_[0];
69  }
70 
72  inline void setV( const double v )
73  {
74  value_[1] = v;
75  }
76  inline double getV() const
77  {
78  return value_[1];
79  }
80 
82  inline void setW( const double w )
83  {
84  value_[2] = w;
85  }
86  inline double getW() const
87  {
88  return value_[2];
89  }
90 
92  Point3D( );
93 
95  Point3D( const double& init );
96 
98  Point3D( const double& x, const double& y, const double& z );
99 
101  Point3D( const Point3D& value );
102 
104  virtual ~Point3D()
105  {}
106  ;
107 
109  Point3D* copy() const;
110 
111  // as a Str
112  virtual Str toString() const;
113 
114  Point3D& operator=( const Point3D & rhs );
115 
116  Point3D& operator=( const double rhs );
117 
118  Point3D& operator+=( const Point3D & rhs );
119 
120  Point3D& operator+=( const double rhs );
121 
122  Point3D operator+( const Point3D & rhs );
123 
124  Point3D& operator-=( const Point3D & rhs );
125 
126  Point3D operator-( const Point3D & rhs );
127 
128  Point3D& operator-=( const double rhs );
129 
130  Point3D& operator*=( const Point3D & rhs );
131 
132  Point3D operator*( const double rhs );
133 
134  Point3D& operator*=( const double rhs );
135 
136  Point3D& addProduct( Matrix3x3& lhs, Point3D& rhs );
137 
138  Point3D& toAbs();
139 
140  double getMagnitude() const;
141 
142  double& operator[]( int index );
143 
144  const double sum() const;
145 
146  const double sumSquared() const;
147 
149  virtual double* getPtr1d()
150  {
151  return value_;
152  }
153 
155  virtual int getM() const
156  {
157  return 3;
158  }
159 
160 protected:
161 
162  // The actual data
163  double value_[3];
164 };
165 
166 #endif /*POINT3D_H_*/
void setZ(const double z)
Z.
Definition: Point3D.h:52
Contains a 3x3 array of double precision floating point numbers, along with methods for performing co...
Definition: Matrix3x3.h:27
Point3D & addProduct(Matrix3x3 &lhs, Point3D &rhs)
Definition: Point3D.cpp:158
virtual ~Point3D()
Destructor.
Definition: Point3D.h:104
Point3D & operator=(const Point3D &rhs)
Definition: Point3D.cpp:67
double getMagnitude() const
Definition: Point3D.cpp:178
const double sum() const
Definition: Point3D.cpp:192
Definition: I1D.h:17
double getY() const
Definition: Point3D.h:46
double getW() const
Definition: Point3D.h:86
double getZ() const
Definition: Point3D.h:56
const double sumSquared() const
Definition: Point3D.cpp:197
double value_[3]
Definition: Point3D.h:163
Wraps three double precision (8-byte) floating point numbers.
Definition: Point3D.h:28
Point3D & operator+=(const Point3D &rhs)
Definition: Point3D.cpp:83
Point3D operator-(const Point3D &rhs)
Definition: Point3D.cpp:116
void setW(const double w)
W – shares storage with Z, alias for dZ/dt.
Definition: Point3D.h:82
virtual int getM() const
Implement abstract I2D method.
Definition: Point3D.h:155
Replacement for standard template class string.
Definition: Str.h:12
double getX() const
Definition: Point3D.h:36
void setY(const double y)
Y.
Definition: Point3D.h:42
Point3D operator+(const Point3D &rhs)
Definition: Point3D.cpp:99
Point3D operator*(const double rhs)
Definition: Point3D.cpp:149
Point3D * copy() const
Return a pointer to a new copy.
Definition: Point3D.cpp:54
double & operator[](int index)
Definition: Point3D.cpp:183
virtual Str toString() const
Definition: Point3D.cpp:60
double getU() const
Definition: Point3D.h:66
Point3D()
Default constructior.
Definition: Point3D.cpp:21
double getV() const
Definition: Point3D.h:76
void setX(const double x)
X positive along the vehicle axis, starting at the nose.
Definition: Point3D.h:32
void setV(const double v)
V – shares storage with Y, alias for dY/dt.
Definition: Point3D.h:72
virtual double * getPtr1d()
Implement abstract I1D method.
Definition: Point3D.h:149
Point3D & toAbs()
Definition: Point3D.cpp:170
Point3D & operator*=(const Point3D &rhs)
Definition: Point3D.cpp:133
Point3D & operator-=(const Point3D &rhs)
Definition: Point3D.cpp:108
void setU(const double u)
U – shares storage with X, alias for dX/dt.
Definition: Point3D.h:62