From d8cf12fe5a18309e968ffc3b326d70554013b5a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20T=C3=B6nne?= Date: Sat, 30 Aug 2014 17:54:36 +0200 Subject: Debug drawing for simulations, to aid in visualizing abstract data such as forces, velocities, contact points etc. This uses a hash table to store debug elements (dots, lines, vectors at this point). The hash table allows continuous display of elements that are generated only in certain time steps, e.g. contact points, while avoiding massive memory allocation. In any case, this system is really a development feature, but very helpful in finding issues with the internal solver data. --- source/blender/modifiers/intern/MOD_cloth.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/blender/modifiers/intern') diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 1561fd1a981..15a73c0a34d 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -46,6 +46,7 @@ #include "BKE_cloth.h" #include "BKE_cdderivedmesh.h" +#include "BKE_effect.h" #include "BKE_global.h" #include "BKE_key.h" #include "BKE_modifier.h" @@ -68,6 +69,8 @@ static void initData(ModifierData *md) return; cloth_init(clmd); + + clmd->debug_data = NULL; } static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], @@ -175,6 +178,7 @@ static void copyData(ModifierData *md, ModifierData *target) tclmd->point_cache = BKE_ptcache_add(&tclmd->ptcaches); tclmd->point_cache->step = 1; tclmd->clothObject = NULL; + tclmd->debug_data = NULL; } static bool dependsOnTime(ModifierData *UNUSED(md)) @@ -202,6 +206,8 @@ static void freeData(ModifierData *md) BKE_ptcache_free_list(&clmd->ptcaches); clmd->point_cache = NULL; + + BKE_sim_debug_data_free(clmd->debug_data); } } -- cgit v1.2.3