[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