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

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