You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

vector3d.cpp 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include "vector3d.h"
  2. #include <math.h>
  3. Vector3D::VectorXD()
  4. {
  5. _scalars[0] = 0.0;
  6. _scalars[1] = 0.0;
  7. _scalars[2] = 0.0;
  8. }
  9. Vector3D::VectorXD(const double scalars[3])
  10. {
  11. _scalars[0] = scalars[0];
  12. _scalars[1] = scalars[1];
  13. _scalars[2] = scalars[2];
  14. }
  15. Vector3D::VectorXD(double x, double y, double z)
  16. {
  17. _scalars[0] = x;
  18. _scalars[1] = y;
  19. _scalars[2] = z;
  20. }
  21. Vector3D::VectorXD(const Vector3D &other)
  22. {
  23. _scalars[0] = other._scalars[0];
  24. _scalars[1] = other._scalars[1];
  25. _scalars[2] = other._scalars[2];
  26. }
  27. Vector3D::~VectorXD()
  28. {
  29. }
  30. double Vector3D::getX() const
  31. {
  32. return _scalars[0];
  33. }
  34. Vector3D& Vector3D::setX(double x)
  35. {
  36. _scalars[0] = x;
  37. return *this;
  38. }
  39. double Vector3D::getY() const
  40. {
  41. return _scalars[1];
  42. }
  43. Vector3D& Vector3D::setY(double y)
  44. {
  45. _scalars[1] = y;
  46. return *this;
  47. }
  48. double Vector3D::getZ() const
  49. {
  50. return _scalars[2];
  51. }
  52. Vector3D& Vector3D::setZ(double z)
  53. {
  54. _scalars[2] = z;
  55. return *this;
  56. }
  57. Vector3D &Vector3D::add(double x, double y, double z)
  58. {
  59. _scalars[0] += x;
  60. _scalars[1] += y;
  61. _scalars[2] += z;
  62. return *this;
  63. }
  64. Vector3D &Vector3D::sub(double x, double y, double z)
  65. {
  66. _scalars[0] -= x;
  67. _scalars[1] -= y;
  68. _scalars[2] -= z;
  69. return *this;
  70. }
  71. double Vector3D::dotProduct(double x, double y, double z) const
  72. {
  73. return dotProduct(Vector3D(x, y, z));
  74. }