diff --git a/modules/geom/pymod/export_mat3.cc b/modules/geom/pymod/export_mat3.cc index ee66e38d6439c54dab43058f9e2d73d1cca3a56b..9f9e245324622d47862239fe3b26ea90f1183cd2 100644 --- a/modules/geom/pymod/export_mat3.cc +++ b/modules/geom/pymod/export_mat3.cc @@ -58,6 +58,7 @@ void export_Mat3() class_<Mat3>("Mat3",init<>()) .def(init<Real,Real,Real,Real,Real,Real,Real,Real,Real>()) .def(init<const Mat2&>()) + .def(init<Real,Real,Real>()) .def(self += self) .def(self -= self) .def(self + self) diff --git a/modules/geom/src/mat3.hh b/modules/geom/src/mat3.hh index 15815863328fe4ca1039ced2b5d48250eef952cd..d16a14f5569eaa6c84504dda1facba0a3aaf8991 100644 --- a/modules/geom/src/mat3.hh +++ b/modules/geom/src/mat3.hh @@ -27,10 +27,8 @@ #include <ost/geom/module_config.hh> #include <ost/geom/mat2.hh> - namespace geom { -class Mat2; class Vec3; class DLLEXPORT_OST_GEOM Mat3: @@ -76,8 +74,12 @@ public: explicit Mat3(const Real arr[9]) { this->set(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5],arr[6],arr[7],arr[8]); - } + } + explicit Mat3(Real x, Real y, Real z) + { + this->set(x, 0.0, 0.0, 0.0, y, 0.0, 0.0, 0.0, z); + } //! element access Real& operator()(std::size_t r, std::size_t c) {