@@ -1131,6 +1131,11 @@ void mj_printFormattedData(const mjModel* m, const mjData* d, const char* filena
1131
1131
d -> C_rowadr , d -> C_colind , fp , float_format );
1132
1132
printArray ("QLDIAGINV" , m -> nv , 1 , d -> qLDiagInv , fp , float_format );
1133
1133
1134
+ if (!mju_isZero (d -> qHDiagInv , m -> nv )) {
1135
+ printSparse ("QH" , d -> qH , m -> nv , d -> C_rownnz , d -> C_rowadr , d -> C_colind , fp , float_format );
1136
+ printArray ("QHDIAGINV" , m -> nv , 1 , d -> qHDiagInv , fp , float_format );
1137
+ }
1138
+
1134
1139
// B sparse structure
1135
1140
mj_printSparsity ("B: body-dof matrix" , m -> nbody , m -> nv , d -> B_rowadr , NULL , d -> B_rownnz , NULL ,
1136
1141
d -> B_colind , fp );
@@ -1227,12 +1232,15 @@ void mj_printFormattedData(const mjModel* m, const mjData* d, const char* filena
1227
1232
fprintf (fp , "\n\n" );
1228
1233
1229
1234
// print qDeriv
1230
- printSparse ("QDERIV" , d -> qDeriv , m -> nv , d -> D_rownnz , d -> D_rowadr , d -> D_colind ,
1231
- fp , float_format );
1235
+ if (!mju_isZero (d -> qDeriv , m -> nD )) {
1236
+ printSparse ("QDERIV" , d -> qDeriv , m -> nv , d -> D_rownnz , d -> D_rowadr , d -> D_colind ,
1237
+ fp , float_format );
1238
+ }
1232
1239
1233
1240
// print qLU
1234
- printSparse ("QLU" , d -> qLU , m -> nv , d -> D_rownnz , d -> D_rowadr , d -> D_colind ,
1235
- fp , float_format );
1241
+ if (!mju_isZero (d -> qLU , m -> nD )) {
1242
+ printSparse ("QLU" , d -> qLU , m -> nv , d -> D_rownnz , d -> D_rowadr , d -> D_colind , fp , float_format );
1243
+ }
1236
1244
1237
1245
// contact
1238
1246
fprintf (fp , "CONTACT\n" );
0 commit comments