mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-21 12:00:18 +00:00
...
This commit is contained in:
parent
724f693761
commit
e59ff4dfdc
@ -336,13 +336,7 @@ template<> inline Vec3 _py_cast<Vec3>(VM* vm, PyObject* obj) { return _CAST(PyVe
|
|||||||
template<> inline Vec4 _py_cast<Vec4>(VM* vm, PyObject* obj) { return _CAST(PyVec4&, obj); }
|
template<> inline Vec4 _py_cast<Vec4>(VM* vm, PyObject* obj) { return _CAST(PyVec4&, obj); }
|
||||||
template<> inline Mat3x3 _py_cast<Mat3x3>(VM* vm, PyObject* obj) { return _CAST(PyMat3x3&, obj); }
|
template<> inline Mat3x3 _py_cast<Mat3x3>(VM* vm, PyObject* obj) { return _CAST(PyMat3x3&, obj); }
|
||||||
|
|
||||||
inline void add_module_linalg(VM* vm){
|
void add_module_linalg(VM* vm);
|
||||||
PyObject* linalg = vm->new_module("linalg");
|
|
||||||
PyVec2::register_class(vm, linalg);
|
|
||||||
PyVec3::register_class(vm, linalg);
|
|
||||||
PyVec4::register_class(vm, linalg);
|
|
||||||
PyMat3x3::register_class(vm, linalg);
|
|
||||||
}
|
|
||||||
|
|
||||||
static_assert(sizeof(Py_<PyMat3x3>) <= 64);
|
static_assert(sizeof(Py_<PyMat3x3>) <= 64);
|
||||||
static_assert(std::is_trivially_copyable<PyVec2>::value);
|
static_assert(std::is_trivially_copyable<PyVec2>::value);
|
||||||
|
@ -411,4 +411,19 @@ namespace pkpy{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void add_module_linalg(VM* vm){
|
||||||
|
PyObject* linalg = vm->new_module("linalg");
|
||||||
|
PyVec2::register_class(vm, linalg);
|
||||||
|
PyVec3::register_class(vm, linalg);
|
||||||
|
PyVec4::register_class(vm, linalg);
|
||||||
|
PyMat3x3::register_class(vm, linalg);
|
||||||
|
|
||||||
|
PyObject* float_p = vm->_modules["c"]->attr("float_p");
|
||||||
|
linalg->attr().set("vec2_p", float_p);
|
||||||
|
linalg->attr().set("vec3_p", float_p);
|
||||||
|
linalg->attr().set("vec4_p", float_p);
|
||||||
|
linalg->attr().set("mat3x3_p", float_p);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace pkpy
|
} // namespace pkpy
|
Loading…
x
Reference in New Issue
Block a user