Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. #pragma once
  2. #include <math.h>
  3.  
  4. class TVector
  5. {
  6. //FRIEND DECLARATIONS
  7. friend double dotPrdct(TVector&, TVector&);
  8. friend TVector crossPrdct(TVector&, TVector&);
  9.  
  10. //Operator overloads
  11. friend TVector TVector::operator+(const TVector& left, const TVector& right);
  12. friend TVector TVector::operator-(const TVector& left, const TVector& right);
  13.  
  14. private:
  15. double XYZ[3];
  16. double XYZinvert[3];
  17. double magnitude;
  18. double unit[3];
  19.  
  20. //Calculate the magnitude and unit vector when needed
  21. void calcMagnitude();
  22. void calcUnit();
  23.  
  24.  
  25. public:
  26. //Constructors
  27. TVector();
  28. TVector(double, double, double);
  29. TVector(double*);
  30.  
  31. //Destructor
  32. ~TVector();
  33.  
  34. //Getters Setters
  35. void setVec(double, double, double);
  36. void setVec(double*);
  37.  
  38. //Returns a pointer to the first element in the XYZ array
  39. double* getVec();
  40.  
  41. //Functions that act on self
  42. double getMagnitude();
  43. double* getUnit();
  44. double* getInvertedVec();
  45. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement