diff --git a/doc/APIreference/functions.rst b/doc/APIreference/functions.rst index 0ce805ce..38568b35 100644 --- a/doc/APIreference/functions.rst +++ b/doc/APIreference/functions.rst @@ -3142,24 +3142,6 @@ mju_mulMatTVec3 Multiply transposed 3-by-3 matrix by vector: res = mat' * vec. -.. _mju_rotVecMat: - -mju_rotVecMat -~~~~~~~~~~~~~ - -.. mujoco-include:: mju_rotVecMat - -Deprecated, use mju_mulMatVec3(res, mat, vec). - -.. _mju_rotVecMatT: - -mju_rotVecMatT -~~~~~~~~~~~~~~ - -.. mujoco-include:: mju_rotVecMatT - -Deprecated, use mju_mulMatTVec3(res, mat, vec). - .. _mju_cross: mju_cross diff --git a/doc/changelog.rst b/doc/changelog.rst index 4cb748dd..8f69bb07 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -9,6 +9,7 @@ General ^^^^^^^ - The global compiler flag ``exactmeshinertia`` has been removed and replaced with the mesh-specific :ref:`inertia` attribute. +- Removed the deprecated ``mju_rotVecMat`` and ``mju_rotVecMatT`` functions. MJX ^^^ @@ -214,7 +215,7 @@ General 3. Calls to :ref:`mj_defaultVFS` may allocate memory inside VFS, and the corresponding :ref:`mj_deleteVFS` must be called to deallocate any internal allocated memory. - 4. Deprecated :ref:`mju_rotVecMat` and :ref:`mju_rotVecMatT` in favor of :ref:`mju_mulMatVec3` and + 4. Deprecated ``mju_rotVecMat`` and ``mju_rotVecMatT`` in favor of :ref:`mju_mulMatVec3` and :ref:`mju_mulMatTVec3`. These function names and argument order are more consistent with the rest of the API. The older functions have been removed from the Python bindings and will be removed from the C API in the next release. diff --git a/doc/includes/references.h b/doc/includes/references.h index f1cd64a7..e19503d4 100644 --- a/doc/includes/references.h +++ b/doc/includes/references.h @@ -3432,8 +3432,6 @@ mjtNum mju_dot3(const mjtNum vec1[3], const mjtNum vec2[3]); mjtNum mju_dist3(const mjtNum pos1[3], const mjtNum pos2[3]); void mju_mulMatVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3]); void mju_mulMatTVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3]); -void mju_rotVecMat(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]); -void mju_rotVecMatT(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]); void mju_cross(mjtNum res[3], const mjtNum a[3], const mjtNum b[3]); void mju_zero4(mjtNum res[4]); void mju_unit4(mjtNum res[4]); diff --git a/include/mujoco/mujoco.h b/include/mujoco/mujoco.h index 751c6cdf..849462fe 100644 --- a/include/mujoco/mujoco.h +++ b/include/mujoco/mujoco.h @@ -975,12 +975,6 @@ MJAPI void mju_mulMatVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3 // Multiply transposed 3-by-3 matrix by vector: res = mat' * vec. MJAPI void mju_mulMatTVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3]); -// Deprecated, use mju_mulMatVec3(res, mat, vec). -MJAPI void mju_rotVecMat(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]); - -// Deprecated, use mju_mulMatTVec3(res, mat, vec). -MJAPI void mju_rotVecMatT(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]); - // Compute cross-product: res = cross(a, b). MJAPI void mju_cross(mjtNum res[3], const mjtNum a[3], const mjtNum b[3]); diff --git a/introspect/functions.py b/introspect/functions.py index c0a3a196..4f86485d 100644 --- a/introspect/functions.py +++ b/introspect/functions.py @@ -6187,64 +6187,6 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([ ), doc="Multiply transposed 3-by-3 matrix by vector: res = mat' * vec.", )), - ('mju_rotVecMat', - FunctionDecl( - name='mju_rotVecMat', - return_type=ValueType(name='void'), - parameters=( - FunctionParameterDecl( - name='res', - type=ArrayType( - inner_type=ValueType(name='mjtNum'), - extents=(3,), - ), - ), - FunctionParameterDecl( - name='vec', - type=ArrayType( - inner_type=ValueType(name='mjtNum', is_const=True), - extents=(3,), - ), - ), - FunctionParameterDecl( - name='mat', - type=ArrayType( - inner_type=ValueType(name='mjtNum', is_const=True), - extents=(9,), - ), - ), - ), - doc='Deprecated, use mju_mulMatVec3(res, mat, vec).', - )), - ('mju_rotVecMatT', - FunctionDecl( - name='mju_rotVecMatT', - return_type=ValueType(name='void'), - parameters=( - FunctionParameterDecl( - name='res', - type=ArrayType( - inner_type=ValueType(name='mjtNum'), - extents=(3,), - ), - ), - FunctionParameterDecl( - name='vec', - type=ArrayType( - inner_type=ValueType(name='mjtNum', is_const=True), - extents=(3,), - ), - ), - FunctionParameterDecl( - name='mat', - type=ArrayType( - inner_type=ValueType(name='mjtNum', is_const=True), - extents=(9,), - ), - ), - ), - doc='Deprecated, use mju_mulMatTVec3(res, mat, vec).', - )), ('mju_cross', FunctionDecl( name='mju_cross', diff --git a/python/mujoco/functions.cc b/python/mujoco/functions.cc index 0770611d..6965957d 100644 --- a/python/mujoco/functions.cc +++ b/python/mujoco/functions.cc @@ -720,8 +720,6 @@ PYBIND11_MODULE(_functions, pymodule) { Def(pymodule); Def(pymodule); Def(pymodule); - // skipped: mju_rotVecMat - // skipped: mju_rotVecMatT Def(pymodule); Def(pymodule); Def(pymodule); diff --git a/src/engine/engine_util_blas.c b/src/engine/engine_util_blas.c index af1a0447..c870c6fb 100644 --- a/src/engine/engine_util_blas.c +++ b/src/engine/engine_util_blas.c @@ -189,20 +189,6 @@ void mju_mulMatTVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3]) { -// multiply vector by 3D rotation matrix (deprecated) -void mju_rotVecMat(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]) { - mju_mulMatVec3(res, mat, vec); -} - - - -// multiply vector by transposed 3D rotation matrix (deprecated) -void mju_rotVecMatT(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]) { - mju_mulMatTVec3(res, mat, vec); -} - - - // multiply 3x3 matrices, void mju_mulMatMat3(mjtNum res[9], const mjtNum mat1[9], const mjtNum mat2[9]) { res[0] = mat1[0]*mat2[0] + mat1[1]*mat2[3] + mat1[2]*mat2[6]; diff --git a/src/engine/engine_util_blas.h b/src/engine/engine_util_blas.h index 77f9a6a7..619a3225 100644 --- a/src/engine/engine_util_blas.h +++ b/src/engine/engine_util_blas.h @@ -112,12 +112,6 @@ MJAPI void mju_mulMatVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3 // multiply transposed 3-by-3 matrix by vector MJAPI void mju_mulMatTVec3(mjtNum res[3], const mjtNum mat[9], const mjtNum vec[3]); -// multiply vector by 3D rotation matrix (deprecated) -MJAPI void mju_rotVecMat(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]); - -// multiply vector by transposed 3D rotation matrix (deprecated) -MJAPI void mju_rotVecMatT(mjtNum res[3], const mjtNum vec[3], const mjtNum mat[9]); - // multiply 3x3 matrices MJAPI void mju_mulMatMat3(mjtNum res[9], const mjtNum mat1[9], const mjtNum mat2[9]); diff --git a/unity/Runtime/Bindings/MjBindings.cs b/unity/Runtime/Bindings/MjBindings.cs index dbc5364b..4eab533b 100644 --- a/unity/Runtime/Bindings/MjBindings.cs +++ b/unity/Runtime/Bindings/MjBindings.cs @@ -7141,12 +7141,6 @@ public static unsafe extern void mju_mulMatVec3(double* res, double* mat, double [DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)] public static unsafe extern void mju_mulMatTVec3(double* res, double* mat, double* vec); -[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)] -public static unsafe extern void mju_rotVecMat(double* res, double* vec, double* mat); - -[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)] -public static unsafe extern void mju_rotVecMatT(double* res, double* vec, double* mat); - [DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)] public static unsafe extern void mju_cross(double* res, double* a, double* b);