Kindfield
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Friends Pages
Classes | Functions
vector3.h File Reference
#include <iostream>
#include <armadillo>
Include dependency graph for vector3.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Vector3
 Simple 3D vector class with focus on performance and readability. More...
 

Functions

double dot (const Vector3 &vector1, const Vector3 &vector2)
 
Vector3 operator+ (const Vector3 &vector1, const Vector3 &vector2)
 
Vector3 operator- (const Vector3 &vector1, const Vector3 &vector2)
 
Vector3 operator* (const Vector3 &vector1, double value)
 
Vector3 operator* (double value, const Vector3 &vector1)
 
Vector3 operator/ (const Vector3 &vector1, double value)
 
Vector3 operator+ (const Vector3 &vector1)
 
Vector3 operator- (const Vector3 &vector1)
 
Vector3 operator* (const Vector3 &vector1, const Vector3 &vector2)
 Vector3::operator * returns the dot product of the two vectors. More...
 
bool operator== (const Vector3 &vector1, const Vector3 &vector2)
 
bool operator!= (const Vector3 &vector1, const Vector3 &vector2)
 

Function Documentation

double dot ( const Vector3 vector1,
const Vector3 vector2 
)
inline

Definition at line 63 of file vector3.h.

63  {
64  return Vector3::dot(vector1, vector2);
65 }
bool operator!= ( const Vector3 vector1,
const Vector3 vector2 
)
inline

Definition at line 231 of file vector3.h.

232 {
233  return !(vector1 == vector2);
234 }
Vector3 operator* ( const Vector3 vector1,
double  value 
)
inline

Definition at line 175 of file vector3.h.

176 {
177  return Vector3(vector1.mem_local[0]*value, vector1.mem_local[1]*value, vector1.mem_local[2]*value);
178 }
Vector3 operator* ( double  value,
const Vector3 vector1 
)
inline

Definition at line 180 of file vector3.h.

181 {
182  return Vector3(vector1.mem_local[0]*value, vector1.mem_local[1]*value, vector1.mem_local[2]*value);
183 }
Vector3 operator* ( const Vector3 vector1,
const Vector3 vector2 
)
inline

Vector3::operator * returns the dot product of the two vectors.

Parameters
vector1
vector2
Returns

Definition at line 214 of file vector3.h.

215 {
216  return Vector3(vector1.mem_local[0] * vector2.mem_local[0], vector1.mem_local[1] * vector2.mem_local[1], vector1.mem_local[2] * vector2.mem_local[2]);
217 }
Vector3 operator+ ( const Vector3 vector1,
const Vector3 vector2 
)
inline

Definition at line 133 of file vector3.h.

134 {
135  return Vector3(vector1.mem_local[0] + vector2.mem_local[0], vector1.mem_local[1] + vector2.mem_local[1], vector1.mem_local[2] + vector2.mem_local[2]);
136 }
Vector3 operator+ ( const Vector3 vector1)
inline

Definition at line 198 of file vector3.h.

199 {
200  return Vector3(vector1.mem_local[0], vector1.mem_local[1], vector1.mem_local[2]);
201 }
Vector3 operator- ( const Vector3 vector1,
const Vector3 vector2 
)
inline

Definition at line 138 of file vector3.h.

139 {
140  return Vector3(vector1.mem_local[0] - vector2.mem_local[0], vector1.mem_local[1] - vector2.mem_local[1], vector1.mem_local[2] - vector2.mem_local[2]);
141 }
Vector3 operator- ( const Vector3 vector1)
inline

Definition at line 203 of file vector3.h.

204 {
205  return Vector3(-vector1.mem_local[0], -vector1.mem_local[1], -vector1.mem_local[2]);
206 }
Vector3 operator/ ( const Vector3 vector1,
double  value 
)
inline

Definition at line 185 of file vector3.h.

186 {
187  return Vector3(vector1.mem_local[0]/value, vector1.mem_local[1]/value, vector1.mem_local[2]/value);
188 }
bool operator== ( const Vector3 vector1,
const Vector3 vector2 
)
inline

Definition at line 224 of file vector3.h.

225 {
226  return ((vector1.mem_local[0] == vector2.mem_local[0]) &&
227  (vector1.mem_local[1] == vector2.mem_local[1]) &&
228  (vector1.mem_local[2] == vector2.mem_local[2]));
229 }