[Bf-blender-cvs] [64bdb89abab] soc-2019-adaptive-cloth: Cloth: cache read check for adaptive cloth

ishbosamiya noreply at git.blender.org
Mon Aug 26 05:50:33 CEST 2019


Commit: 64bdb89abab57c1696accd1989f3213b5e47e841
Author: ishbosamiya
Date:   Sat Aug 17 12:04:41 2019 +0530
Branches: soc-2019-adaptive-cloth
https://developer.blender.org/rB64bdb89abab57c1696accd1989f3213b5e47e841

Cloth: cache read check for adaptive cloth

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

M	source/blender/blenkernel/intern/cloth.c
M	source/blender/blenkernel/intern/pointcache.c

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

diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c
index 09e16ffe0fe..50b591949c0 100644
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@ -425,9 +425,16 @@ Mesh *clothModifier_do(
   clmd->sim_parms->timescale = 1.0f;
 #endif
 
+  if (!(clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_ADAPTIVE_REMESHING)) {
+    printf("Currently no remeshing\n");
+  }
+  else {
+    printf("Currently remeshing\n");
+  }
+
   if (clmd->sim_parms->reset ||
       (clmd->clothObject && mesh_result->totvert != clmd->clothObject->mvert_num &&
-       clmd->sim_parms->flags & ~CLOTH_SIMSETTINGS_FLAG_ADAPTIVE_REMESHING)) {
+       !(clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_ADAPTIVE_REMESHING))) {
     printf("this is called\n");
     clmd->sim_parms->reset = 0;
     clmd->sim_parms->remeshing_reset = 1;
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 3d8c6a924e4..c8887b2b5bd 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -2951,46 +2951,43 @@ static int ptcache_read(PTCacheID *pid, int cfra)
     if ((pid->data_types & (1 << BPHYS_DATA_INDEX)) == 0) {
       if (pid->type == PTCACHE_TYPE_CLOTH) {
         ClothModifierData *clmd = pid->calldata;
-        Object *ob = clmd->ob;
-        Depsgraph *depsgraph = clmd->depsgraph;
-        Mesh *mesh = clmd->mesh;
-        printf("mesh in %s before remeshing has totvert: %d totedge: %d totface %d\n",
-               __func__,
-               mesh->totvert,
-               mesh->totedge,
-               mesh->totpoly);
+        if (clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_ADAPTIVE_REMESHING) {
+          Object *ob = clmd->ob;
+          Depsgraph *depsgraph = clmd->depsgraph;
+          Mesh *mesh = clmd->mesh;
+          printf("mesh in %s before remeshing has totvert: %d totedge: %d totface %d\n",
+                 __func__,
+                 mesh->totvert,
+                 mesh->totedge,
+                 mesh->totpoly);
 #if 1
-        if (clmd->flags & MOD_CLOTH_FLAG_PREV_FRAME_READ_CACHE) {
-        }
-        else {
-          clmd->sim_parms->remeshing_reset = 1;
-        }
+          if (clmd->flags & MOD_CLOTH_FLAG_PREV_FRAME_READ_CACHE) {
+          }
+          else {
+            clmd->sim_parms->remeshing_reset = 1;
+          }
 #else
-        printf("reset: %d\n", clmd->sim_parms->reset);
-        printf("remeshing_reset: %d\n", clmd->sim_parms->remeshing_reset);
-        clmd->sim_parms->remeshing_reset = 1;
+          printf("reset: %d\n", clmd->sim_parms->reset);
+          printf("remeshing_reset: %d\n", clmd->sim_parms->remeshing_reset);
+          clmd->sim_parms->remeshing_reset = 1;
 #endif
-        Mesh *mesh_result = cloth_remeshing_step(depsgraph, ob, clmd, mesh);
-        if (clmd->mesh && mesh_result) {
-          /* BKE_mesh_free(clmd->mesh); */
-          BKE_id_copy_ex(NULL, (ID *)mesh_result, (ID **)&clmd->mesh, LIB_ID_COPY_LOCALIZE);
-          printf("mesh in %s after remeshing has totvert: %d totedge: %d totface %d\n",
-                 __func__,
-                 clmd->mesh->totvert,
-                 clmd->mesh->totedge,
-                 clmd->mesh->totpoly);
+          Mesh *mesh_result = cloth_remeshing_step(depsgraph, ob, clmd, mesh);
+          if (clmd->mesh && mesh_result) {
+            /* BKE_mesh_free(clmd->mesh); */
+            BKE_id_copy_ex(NULL, (ID *)mesh_result, (ID **)&clmd->mesh, LIB_ID_COPY_LOCALIZE);
+            printf("mesh in %s after remeshing has totvert: %d totedge: %d totface %d\n",
+                   __func__,
+                   clmd->mesh->totvert,
+                   clmd->mesh->totedge,
+                   clmd->mesh->totpoly);
+          }
         }
       }
       int pid_totpoint = pid->totpoint(pid->calldata, cfra);
       if (totpoint != pid_totpoint) {
-#if 0
-        char *em = NULL;
-        sprintf(em,
-                "%s memory_cache_totpoint: %d pid_totpoint: %d",
-                "Number of points in cache does not match mesh",
-                totpoint,
-                pid_totpoint);
-        pid->error(pid->calldata, em);
+#if 1
+        printf("memory_cache_totpoint: %d pid_totpoint: %d\n", totpoint, pid_totpoint);
+        pid->error(pid->calldata, "Number of points in cache does not match mesh");
 #else
         pid->error(pid->calldata, "Number of points in cache does not match mesh");
 #endif



More information about the Bf-blender-cvs mailing list