Use mjData.M where appropriate
PiperOrigin-RevId: 758374391 Change-Id: I9de7af7be8e41b5c300d0a04ea99082b4cefdec6
This commit is contained in:
committed by
Copybara-Service
parent
79c74d7eae
commit
4186589738
@@ -535,17 +535,13 @@ void mj_island(const mjModel* m, mjData* d) {
|
||||
d->island_dofadr[i] = d->map_idof2dof[d->island_idofadr[i]];
|
||||
}
|
||||
|
||||
// local CSR copy of qM
|
||||
mjtNum* qM = mjSTACKALLOC(d, m->nC, mjtNum);
|
||||
mju_gather(qM, d->qM, d->mapM2C, m->nC);
|
||||
|
||||
// inertia: block-diagonalize both iLD <- qLD and iM <- qM
|
||||
mju_blockDiagSparse(d->iLD, d->iM_rownnz, d->iM_rowadr, d->iM_colind,
|
||||
d->qLD, d->C_rownnz, d->C_rowadr, d->C_colind,
|
||||
nidof, nisland,
|
||||
d->map_idof2dof, d->map_dof2idof,
|
||||
d->island_idofadr, d->island_idofadr,
|
||||
d->iM, qM);
|
||||
d->iM, d->M);
|
||||
mju_gather(d->iLDiagInv, d->qLDiagInv, d->map_idof2dof, nidof);
|
||||
|
||||
// compute iM_diagnum (dof_simplenum per island)
|
||||
|
||||
Reference in New Issue
Block a user