My Project
gvector.h
Go to the documentation of this file.
1 
12 #pragma once
13 
14 #include "exception.h"
15 
16 using std::vector;
17 
18 class GMatrix;
19 
26 class GVector
27 {
28 public:
32  GVector();
33 
41  GVector(double X, double Y, double Z, double hc);
42 
47  GVector(const GVector& other);
48 
53  GVector(GVector&& other);
54 
58  ~GVector();
59 
65  GVector& operator=(GVector other);
66 
72  GVector operator+(const GVector other);
73 
79  GVector operator-(const GVector other);
80 
86  GVector operator/(const double value);
87 
93  GVector operator*(const double value);
94 
100  double& operator[](const size_t index);
101 
107  const double& operator[](const size_t index) const;
108 
113  vector<double> getVec() const;
114 
119  double length();
120 
125  GVector normalize();
126 
133  static GVector cross(GVector first, GVector second);
134 
141  static double scalar(GVector first, GVector second);
142 
149  static double angle(GVector first, GVector second);
150 
156  GVector operator*(GMatrix matrix);
157 
163  bool operator==(const GVector& other) const;
164 
170  bool operator!=(const GVector& other) const;
171 
172 private:
173  vector<double> vec;
174 };
GVector operator-(const GVector other)
Definition: gvector.cpp:53
GVector normalize()
Definition: gvector.cpp:115
Define geometric vector.
Definition: gvector.h:26
GVector operator/(const double value)
Definition: gvector.cpp:63
static double angle(GVector first, GVector second)
Definition: gvector.cpp:148
GVector operator+(const GVector other)
Definition: gvector.cpp:43
static GVector cross(GVector first, GVector second)
Definition: gvector.cpp:132
GVector operator*(const double value)
Definition: gvector.cpp:73
double & operator[](const size_t index)
Definition: gvector.cpp:83
GVector()
Definition: gvector.cpp:6
vector< double > getVec() const
Definition: gvector.cpp:101
~GVector()
Definition: gvector.cpp:32
bool operator==(const GVector &other) const
Definition: gvector.cpp:174
static double scalar(GVector first, GVector second)
Definition: gvector.cpp:143
GVector & operator=(GVector other)
Definition: gvector.cpp:37
Define geometric matrix.
Definition: gmatrix.h:24
double length()
Definition: gvector.cpp:106
bool operator!=(const GVector &other) const
Definition: gvector.cpp:186