From 6bda10cce87a7c4f5d912cd5c6085974e7ff70db Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Tue, 27 Jun 2023 23:02:08 +0800 Subject: [PATCH] ... --- src/linalg.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/linalg.h b/src/linalg.h index 9b5a3656..806421df 100644 --- a/src/linalg.h +++ b/src/linalg.h @@ -773,6 +773,16 @@ inline PyObject* py_var(VM* vm, const PyVec4& obj){ return VAR_T(PyVec4, obj);} inline PyObject* py_var(VM* vm, const Mat3x3& obj){ return VAR_T(PyMat3x3, obj); } inline PyObject* py_var(VM* vm, const PyMat3x3& obj){ return VAR_T(PyMat3x3, obj); } +template<> inline Vec2 py_cast(VM* vm, PyObject* obj) { return CAST(PyVec2&, obj); } +template<> inline Vec3 py_cast(VM* vm, PyObject* obj) { return CAST(PyVec3&, obj); } +template<> inline Vec4 py_cast(VM* vm, PyObject* obj) { return CAST(PyVec4&, obj); } +template<> inline Mat3x3 py_cast(VM* vm, PyObject* obj) { return CAST(PyMat3x3&, obj); } + +template<> inline Vec2 _py_cast(VM* vm, PyObject* obj) { return _CAST(PyVec2&, obj); } +template<> inline Vec3 _py_cast(VM* vm, PyObject* obj) { return _CAST(PyVec3&, obj); } +template<> inline Vec4 _py_cast(VM* vm, PyObject* obj) { return _CAST(PyVec4&, obj); } +template<> inline Mat3x3 _py_cast(VM* vm, PyObject* obj) { return _CAST(PyMat3x3&, obj); } + inline void add_module_linalg(VM* vm){ PyObject* linalg = vm->new_module("linalg"); PyVec2::register_class(vm, linalg);