Vec2.cpp 960 B

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