TITANIC: More FVector methods

This commit is contained in:
Paul Gilbert 2016-07-16 17:05:51 -04:00
parent 9b1efa3bf5
commit e674116edb
2 changed files with 28 additions and 0 deletions

View File

@ -22,6 +22,7 @@
#include "titanic/star_control/fvector.h"
#include "common/algorithm.h"
#include "common/textconsole.h"
namespace Titanic {
@ -47,4 +48,23 @@ void FVector::fn3() {
_z *= 1.0 / hyp;
}
double FVector::getDistance(const FVector *src) const {
double xd = src->_x - _x;
double yd = src->_y - _y;
double zd = src->_z - _z;
return sqrt(xd * xd + yd * yd + zd * zd);
}
void FVector::fn4(FVector *dest, const FVector *v1, const FVector *v2) {
FVector tempVector(v1->_x + v2->_x, v1->_y + v2->_y, v1->_z + v2->_z);
tempVector.fn3();
*dest = tempVector;
}
void FVector::fn5(FVector *dest, const void *v) const {
error("TODO: FVector::fn5");
}
} // End of namespace Titanic

View File

@ -40,6 +40,14 @@ public:
void multiply(FVector *dest, const FVector *src);
void fn3();
/**
* Returns the distance between a specified point and this one
*/
double getDistance(const FVector *src) const;
static void fn4(FVector *dest, const FVector *v1, const FVector *v2);
void fn5(FVector *dest, const void *v) const;
/**
* Returns true if the passed vector equals this one
*/