I see they haven't been implemented. Will they be added soon?
Some Vector functions you probably should do(and code for some of them) are:
Vector2
#include <cmath>
T Direction(){// May want to use double or float instead
return atan2(y, x);
}
T Dot(Vector2<T>& Other){//May want to use double or float instead
return x*Other.x + y*Other.y;
}
T Length(){
return sqrt(x*x + y*y);
}
void Normalize(){
T Length = Length();
x /= Length;
y /= Length;
}
Vector3
#include <cmath>
Vector3<T>& Cross(Vector3<T>& Other){
return Vector3<T>(y*Other.z - Other.y*z, z*Other.x - x*Other.z, x*Other.y - y*Other.x);
}
T Dot(Vector3<T>& Other){
return x*Other.x + y*Other.y + z*Other.z;
}
T Length(){
return sqrt(x*x + y*y + z*z);
}
void Normalize(){
T Length = Length();
x /= Length;
y /= Length;
z /= Length;
}
I'll add more functions and examples as I think of them.