[Bf-blender-cvs] [08d33d02039] soc-2021-adaptive-cloth: adaptive_cloth: MeshIO: test: ReadDNAMesh: finish up

ishbosamiya noreply at git.blender.org
Mon Jul 5 17:33:38 CEST 2021


Commit: 08d33d020391973f88fee7d7c4f31e172e598d39
Author: ishbosamiya
Date:   Thu Jul 1 19:44:45 2021 +0530
Branches: soc-2021-adaptive-cloth
https://developer.blender.org/rB08d33d020391973f88fee7d7c4f31e172e598d39

adaptive_cloth: MeshIO: test: ReadDNAMesh: finish up

===================================================================

M	source/blender/blenkernel/BKE_cloth_remesh.hh
M	source/blender/blenkernel/tests/BKE_cloth_remesh_test.cc

===================================================================

diff --git a/source/blender/blenkernel/BKE_cloth_remesh.hh b/source/blender/blenkernel/BKE_cloth_remesh.hh
index 1a803e4933d..c836a3e98e1 100644
--- a/source/blender/blenkernel/BKE_cloth_remesh.hh
+++ b/source/blender/blenkernel/BKE_cloth_remesh.hh
@@ -424,14 +424,16 @@ class MeshIO {
     auto &uvs = this->uvs;
     auto &normals = this->normals;
     auto &face_indices = this->face_indices;
-    auto &line_indices = this->line_indices;
+    /* auto &line_indices = this->line_indices; */
 
     /* TODO(ish): check if normals must be recalcuated */
 
     for (auto i = 0; i < mesh->totvert; i++) {
       positions.append(mesh->mvert[i].co);
       /* TODO(ish): figure out short normal conversion to float3 */
-      normals.append(float3(mesh->mvert[i].no[0], mesh->mvert[i].no[1], mesh->mvert[i].no[2]));
+      float normal[3];
+      normal_short_to_float_v3(normal, mesh->mvert[i].no);
+      normals.append(normal);
     }
 
     /* TODO(ish): ensure that we need to loop until mesh->totloop only */
diff --git a/source/blender/blenkernel/tests/BKE_cloth_remesh_test.cc b/source/blender/blenkernel/tests/BKE_cloth_remesh_test.cc
index 55d4dc22dff..db921f6af8d 100644
--- a/source/blender/blenkernel/tests/BKE_cloth_remesh_test.cc
+++ b/source/blender/blenkernel/tests/BKE_cloth_remesh_test.cc
@@ -161,50 +161,69 @@ TEST(cloth_remesh, MeshIO_ReadDNAMesh)
   auto *result = BKE_mesh_new_nomain(0, 0, 0, 0, 0);
   BM_mesh_bm_to_me(nullptr, bm_copy, result, &bmesh_to_mesh_params);
 
-  /* auto *result = BKE_mesh_from_bmesh_for_eval_nomain( */
-  /*     bm, &bmesh_to_mesh_params.cd_mask_extra, mesh); */
-
-  {
-    BMVert *v;
-    BMIter v_iter;
-    BM_ITER_MESH (v, &v_iter, bm, BM_VERTS_OF_MESH) {
-      std::cout << "(" << v->co[0] << ", " << v->co[1] << ", " << v->co[2] << ")";
-    }
-    std::cout << std::endl;
-  }
-  {
-    for (auto i = 0; i < result->totvert; i++) {
-      std::cout << "(" << result->mvert[i].co[0] << ", " << result->mvert[i].co[1] << ", "
-                << result->mvert[i].co[2] << ")";
-    }
-    std::cout << std::endl;
-  }
+  BKE_mesh_calc_normals(result);
 
   auto res = reader.read(result);
 
   EXPECT_TRUE(res);
 
-  std::ostringstream stream_out;
-  reader.write(stream_out, MeshIO::IOTYPE_OBJ);
-
-  std::cout << stream_out.str() << std::endl;
-
-  const auto &positions = reader.get_positions();
-  const auto &uvs = reader.get_uvs();
-  const auto &normals = reader.get_normals();
-  const auto &face_indices = reader.get_face_indices();
-  const auto &line_indices = reader.get_line_indices();
-
-  std::cout << "positions: " << positions << std::endl;
-  std::cout << "uvs: " << uvs << std::endl;
-  std::cout << "normals: " << normals << std::endl;
-  std::cout << "face_indices: " << face_indices << std::endl;
-  std::cout << "line_indices: " << line_indices << std::endl;
-
   BM_mesh_free(bm);
   BM_mesh_free(bm_copy);
   BKE_mesh_eval_delete(mesh);
   BKE_mesh_eval_delete(result);
+
+  std::ostringstream stream_out;
+  reader.write(stream_out, MeshIO::IOTYPE_OBJ);
+
+  std::string expected =
+      "v -0.5 -0.5 -0.5\n"
+      "v -0.5 -0.5 0.5\n"
+      "v -0.5 0.5 -0.5\n"
+      "v -0.5 0.5 0.5\n"
+      "v 0.5 -0.5 -0.5\n"
+      "v 0.5 -0.5 0.5\n"
+      "v 0.5 0.5 -0.5\n"
+      "v 0.5 0.5 0.5\n"
+      "vt 0.375 0\n"
+      "vt 0.625 0\n"
+      "vt 0.625 0.25\n"
+      "vt 0.375 0.25\n"
+      "vt 0.375 0.25\n"
+      "vt 0.625 0.25\n"
+      "vt 0.625 0.5\n"
+      "vt 0.375 0.5\n"
+      "vt 0.375 0.5\n"
+      "vt 0.625 0.5\n"
+      "vt 0.625 0.75\n"
+      "vt 0.375 0.75\n"
+      "vt 0.375 0.75\n"
+      "vt 0.625 0.75\n"
+      "vt 0.625 1\n"
+      "vt 0.375 1\n"
+      "vt 0.125 0.5\n"
+      "vt 0.375 0.5\n"
+      "vt 0.375 0.75\n"
+      "vt 0.125 0.75\n"
+      "vt 0.625 0.5\n"
+      "vt 0.875 0.5\n"
+      "vt 0.875 0.75\n"
+      "vt 0.625 0.75\n"
+      "vn -0.577349 -0.577349 -0.577349\n"
+      "vn -0.577349 -0.577349 0.577349\n"
+      "vn -0.577349 0.577349 -0.577349\n"
+      "vn -0.577349 0.577349 0.577349\n"
+      "vn 0.577349 -0.577349 -0.577349\n"
+      "vn 0.577349 -0.577349 0.577349\n"
+      "vn 0.577349 0.577349 -0.577349\n"
+      "vn 0.577349 0.577349 0.577349\n"
+      "f 1/1/1 2/2/2 4/3/4 3/4/3 \n"
+      "f 3/5/3 4/6/4 8/7/8 7/8/7 \n"
+      "f 7/9/7 8/10/8 6/11/6 5/12/5 \n"
+      "f 5/13/5 6/14/6 2/15/2 1/16/1 \n"
+      "f 3/17/3 7/18/7 5/19/5 1/20/1 \n"
+      "f 8/21/8 4/22/4 2/23/2 6/24/6 \n";
+
+  EXPECT_EQ(stream_out.str(), expected);
 }
 
 TEST(cloth_remesh, Mesh_Read)



More information about the Bf-blender-cvs mailing list