From 5b68fd0caf721d1d09a6c250300c02250f6cd64a Mon Sep 17 00:00:00 2001 From: Tobias Schmidt <tobias.schmidt@unibas.ch> Date: Wed, 3 Aug 2011 13:18:13 +0200 Subject: [PATCH] export == and != operator for vec, mat and quat --- modules/geom/pymod/export_mat2.cc | 2 ++ modules/geom/pymod/export_mat3.cc | 2 ++ modules/geom/pymod/export_mat4.cc | 2 ++ modules/geom/pymod/export_quat.cc | 1 + modules/geom/pymod/export_vec2.cc | 2 ++ modules/geom/pymod/export_vec3.cc | 2 ++ modules/geom/pymod/export_vec4.cc | 2 ++ modules/geom/src/quat.hh | 1 + 8 files changed, 14 insertions(+) diff --git a/modules/geom/pymod/export_mat2.cc b/modules/geom/pymod/export_mat2.cc index 8905a4746..0338f1ddd 100644 --- a/modules/geom/pymod/export_mat2.cc +++ b/modules/geom/pymod/export_mat2.cc @@ -61,6 +61,8 @@ void export_Mat2() .def(self * self) .def(self * Vec2()) .def(self / Real()) + .def(self == self) + .def(self != self) .def(self_ns::str(self)) .def("__getitem__",Mat2_getitem) .def("__setitem__",Mat2_setitem) diff --git a/modules/geom/pymod/export_mat3.cc b/modules/geom/pymod/export_mat3.cc index bf92d2e4e..1e543b7d9 100644 --- a/modules/geom/pymod/export_mat3.cc +++ b/modules/geom/pymod/export_mat3.cc @@ -90,6 +90,8 @@ void export_Mat3() .def(self * self) .def(self *= self) .def(self / Real()) + .def(self == self) + .def(self != self) .def(self_ns::str(self)) .def("__getitem__",Mat3_getitem) .def("__getitem__",Mat3_getslice) diff --git a/modules/geom/pymod/export_mat4.cc b/modules/geom/pymod/export_mat4.cc index 3bb555b2c..1745e35b7 100644 --- a/modules/geom/pymod/export_mat4.cc +++ b/modules/geom/pymod/export_mat4.cc @@ -112,6 +112,8 @@ void export_Mat4() .def(self *= self) .def(self * Vec4()) .def(self / Real()) + .def(self == self) + .def(self != self) .def(self_ns::str(self)) .def("__repr__", mat4_repr) .def("__getitem__",Mat4_getitem) diff --git a/modules/geom/pymod/export_quat.cc b/modules/geom/pymod/export_quat.cc index 7368ede77..4e136ea8e 100644 --- a/modules/geom/pymod/export_quat.cc +++ b/modules/geom/pymod/export_quat.cc @@ -40,6 +40,7 @@ void export_Quat() .def(self += self) .def(self -= self) .def(self == self) + .def(self != self) .def(-self) .def(self * Real()) .def(self * Quat()) diff --git a/modules/geom/pymod/export_vec2.cc b/modules/geom/pymod/export_vec2.cc index 456d26db3..161bda9f6 100644 --- a/modules/geom/pymod/export_vec2.cc +++ b/modules/geom/pymod/export_vec2.cc @@ -67,6 +67,8 @@ void export_Vec2() .def(self / Real()) .def(self + self) .def(self - self) + .def(self == self) + .def(self != self) .def("__repr__", vec2_repr) .def(self_ns::str(self)) .def("__getitem__",Vec2_getitem) diff --git a/modules/geom/pymod/export_vec3.cc b/modules/geom/pymod/export_vec3.cc index 9a9b8f47c..aab91add3 100644 --- a/modules/geom/pymod/export_vec3.cc +++ b/modules/geom/pymod/export_vec3.cc @@ -70,6 +70,8 @@ void export_Vec3() .def(self + Real()) .def(Real() + self) .def(self - self) + .def(self == self) + .def(self != self) .def(self_ns::str(self)) .def("__getitem__",Vec3_getitem) .def("__setitem__",Vec3_setitem) diff --git a/modules/geom/pymod/export_vec4.cc b/modules/geom/pymod/export_vec4.cc index 4ebe1bbd1..986fbfa73 100644 --- a/modules/geom/pymod/export_vec4.cc +++ b/modules/geom/pymod/export_vec4.cc @@ -67,6 +67,8 @@ void export_Vec4() .def(self / Real()) .def(self + self) .def(self - self) + .def(self == self) + .def(self != self) .def(self_ns::str(self)) .def("__getitem__",Vec4_getitem) .def("__setitem__",Vec4_setitem) diff --git a/modules/geom/src/quat.hh b/modules/geom/src/quat.hh index 4347952c0..dc206e4e5 100644 --- a/modules/geom/src/quat.hh +++ b/modules/geom/src/quat.hh @@ -93,6 +93,7 @@ public: Quat& operator/=(const Quat& q); // comparable bool operator==(const Quat& q) const; + bool operator!=(const Quat& q) const { return !this->operator==(q); } // Apply rotation to vector. Vec3 Rotate(const Vec3& vec) const; -- GitLab