Tighten const qualifiers of mjData in Jacobian multiplication functions.
PiperOrigin-RevId: 561711229 Change-Id: I66dc1d2fbcfbf8e935b244fe496ada314d53b135
This commit is contained in:
committed by
Copybara-Service
parent
f9c57f6213
commit
02e819e76a
@@ -2268,8 +2268,8 @@ int mj_addContact(const mjModel* m, mjData* d, const mjContact* con);
|
||||
int mj_isPyramidal(const mjModel* m);
|
||||
int mj_isSparse(const mjModel* m);
|
||||
int mj_isDual(const mjModel* m);
|
||||
void mj_mulJacVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
void mj_mulJacTVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
void mj_mulJacVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
void mj_mulJacTVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
void mj_jac(const mjModel* m, const mjData* d, mjtNum* jacp, mjtNum* jacr,
|
||||
const mjtNum point[3], int body);
|
||||
void mj_jacBody(const mjModel* m, const mjData* d, mjtNum* jacp, mjtNum* jacr, int body);
|
||||
|
||||
@@ -386,10 +386,10 @@ MJAPI int mj_isSparse(const mjModel* m);
|
||||
MJAPI int mj_isDual(const mjModel* m);
|
||||
|
||||
// Multiply dense or sparse constraint Jacobian by vector.
|
||||
MJAPI void mj_mulJacVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
MJAPI void mj_mulJacVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
|
||||
// Multiply dense or sparse constraint Jacobian transpose by vector.
|
||||
MJAPI void mj_mulJacTVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
MJAPI void mj_mulJacTVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
|
||||
// Compute 3/6-by-nv end-effector Jacobian of global point attached to given body.
|
||||
MJAPI void mj_jac(const mjModel* m, const mjData* d, mjtNum* jacp, mjtNum* jacr,
|
||||
|
||||
@@ -1987,7 +1987,7 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([
|
||||
FunctionParameterDecl(
|
||||
name='d',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='mjData'),
|
||||
inner_type=ValueType(name='mjData', is_const=True),
|
||||
),
|
||||
),
|
||||
FunctionParameterDecl(
|
||||
@@ -2019,7 +2019,7 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([
|
||||
FunctionParameterDecl(
|
||||
name='d',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='mjData'),
|
||||
inner_type=ValueType(name='mjData', is_const=True),
|
||||
),
|
||||
),
|
||||
FunctionParameterDecl(
|
||||
|
||||
@@ -375,7 +375,7 @@ int mj_mergeChainSimple(const mjModel* m, int* chain, int b1, int b2) {
|
||||
|
||||
|
||||
// multiply Jacobian by vector
|
||||
void mj_mulJacVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec) {
|
||||
void mj_mulJacVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec) {
|
||||
// exit if no constraints
|
||||
if (!d->nefc) {
|
||||
return;
|
||||
@@ -396,7 +396,8 @@ void mj_mulJacVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec) {
|
||||
|
||||
|
||||
// multiply Jacobian by vector, for one island
|
||||
void mj_mulJacVec_island(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec, int island) {
|
||||
void mj_mulJacVec_island(const mjModel* m, const mjData* d,
|
||||
mjtNum* res, const mjtNum* vec, int island) {
|
||||
// no island, call regular function
|
||||
if (island < 0) {
|
||||
mj_mulJacVec(m, d, res, vec);
|
||||
@@ -435,7 +436,7 @@ void mj_mulJacVec_island(const mjModel* m, mjData* d, mjtNum* res, const mjtNum*
|
||||
|
||||
|
||||
// multiply JacobianT by vector
|
||||
void mj_mulJacTVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec) {
|
||||
void mj_mulJacTVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec) {
|
||||
// exit if no constraints
|
||||
if (!d->nefc) {
|
||||
return;
|
||||
@@ -456,7 +457,8 @@ void mj_mulJacTVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec)
|
||||
|
||||
|
||||
// multiply Jacobian transpose by vector, for one island
|
||||
void mj_mulJacTVec_island(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec, int island) {
|
||||
void mj_mulJacTVec_island(const mjModel* m, const mjData* d,
|
||||
mjtNum* res, const mjtNum* vec, int island) {
|
||||
// no island, call regular function
|
||||
if (island < 0) {
|
||||
mj_mulJacTVec(m, d, res, vec);
|
||||
|
||||
@@ -36,19 +36,18 @@ MJAPI int mj_isSparse(const mjModel* m);
|
||||
MJAPI int mj_isDual(const mjModel* m);
|
||||
|
||||
// multiply Jacobian by vector
|
||||
MJAPI void mj_mulJacVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
MJAPI void mj_mulJacVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
|
||||
// multiply Jacobian by vector, for one island
|
||||
MJAPI void mj_mulJacVec_island(const mjModel* m, mjData* d,
|
||||
MJAPI void mj_mulJacVec_island(const mjModel* m, const mjData* d,
|
||||
mjtNum* res, const mjtNum* vec, int island);
|
||||
|
||||
// multiply Jacobian transposed by vector, for one island
|
||||
MJAPI void mj_mulJacTVec_island(const mjModel* m, mjData* d,
|
||||
mjtNum* res, const mjtNum* vec, int island);
|
||||
|
||||
// multiply JacobianT by vector
|
||||
MJAPI void mj_mulJacTVec(const mjModel* m, mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
MJAPI void mj_mulJacTVec(const mjModel* m, const mjData* d, mjtNum* res, const mjtNum* vec);
|
||||
|
||||
// multiply JacobianT by vector, for one island
|
||||
MJAPI void mj_mulJacTVec_island(const mjModel* m, const mjData* d,
|
||||
mjtNum* res, const mjtNum* vec, int island);
|
||||
|
||||
//-------------------------- utility functions -----------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user