Add flex arrays to CompareModel check.
Due to a bug, all flex mjModel fields were previously ignored. PiperOrigin-RevId: 912546202 Change-Id: Ica95ecfcbbe366fd81de6e8f7d83ed57a7d23033
This commit is contained in:
committed by
Copybara-Service
parent
8cef5bb978
commit
fa912dffa0
+10
-3
@@ -251,10 +251,17 @@ mjtNum CompareModel(const mjModel* m1, const mjModel* m2,
|
||||
|
||||
// compare arrays, apart from bvh-related ones (which includes flex_vert0), as
|
||||
// those are sensitive to numerical differences when meshes are perfectly
|
||||
// symmetric.
|
||||
// symmetric. Also skip flex fields derived from node local positions and
|
||||
// cell geometry that are not fully serialized to XML.
|
||||
#define X(type, name, nr, nc) \
|
||||
if (strncmp(#name, "bvh_", 4) && strncmp(#name, "flex_vert0", 4) && \
|
||||
strncmp(#name, "mesh_poly", 4)) { \
|
||||
if (strncmp(#name, "bvh_", 4) && \
|
||||
strncmp(#name, "flex_vert", 9) && \
|
||||
strncmp(#name, "mesh_poly", 9) && \
|
||||
strcmp(#name, "flex_centered") && \
|
||||
strcmp(#name, "flex_size") && \
|
||||
strcmp(#name, "flexedge_length0") && \
|
||||
strcmp(#name, "flexedge_invweight0") && \
|
||||
strncmp(#name, "flex_node", 9)) { \
|
||||
for (int r = 0; r < m1->nr; r++) { \
|
||||
for (int c = 0; c < nc; c++) { \
|
||||
dif = Compare(m1->name[r * nc + c], m2->name[r * nc + c]); \
|
||||
|
||||
Reference in New Issue
Block a user