Vec4.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "anki/script/math/Common.h"
  2. #include "anki/math/Math.h"
  3. WRAP(Vec4)
  4. {
  5. class_<Vec4>("Vec4")
  6. // constructors
  7. .def(init<>())
  8. .def(init<float>())
  9. .def(init<float, float, float, float>())
  10. .def(init<const Vec2&, float, float>())
  11. .def(init<const Vec3&, float>())
  12. .def(init<const Vec4&>())
  13. .def(init<const Quat&>())
  14. // Accessors
  15. BP_PROPERTY_MATH(Vec4, x)
  16. BP_PROPERTY_MATH(Vec4, y)
  17. BP_PROPERTY_MATH(Vec4, z)
  18. BP_PROPERTY_MATH(Vec4, w)
  19. // ops with self
  20. .def(self + self) // +
  21. .def(self += self) // +=
  22. .def(self - self) // -
  23. .def(self -= self) // -=
  24. .def(self * self) // *
  25. .def(self *= self) // *=
  26. .def(self / self) // /
  27. .def(self /= self) // /=
  28. .def(- self) // negative
  29. .def(self == self) // ==
  30. .def(self != self) // ==
  31. // ops with float
  32. .def(self + float()) // +
  33. .def(self += float()) // +=
  34. .def(self - float()) // -
  35. .def(self -= float()) // -=
  36. .def(self * float()) // *
  37. .def(self *= float()) // *=
  38. .def(self / float()) // /
  39. .def(self /= float()) // /=
  40. ;
  41. }