Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Pogribnyi <pogribnyi@gmail.com>2014-09-20 18:48:46 +0400
committerRoman Pogribnyi <pogribnyi@gmail.com>2014-09-20 18:48:46 +0400
commit527920ecf62ec0b1f99255efe1f4605404f0ce4b (patch)
tree730087e6cc7bfa09221596abe1b03142b7f6fc9f /source/blender/blenkernel/intern/pointcache.c
parent199b6cdc1ee494bfae85eed74a701a7f5557dc34 (diff)
using bake buton, reading more settings
Diffstat (limited to 'source/blender/blenkernel/intern/pointcache.c')
-rw-r--r--source/blender/blenkernel/intern/pointcache.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index c8042171a94..6fbc7aae6d6 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -571,6 +571,17 @@ static void ptcache_smoke_error(void *smoke_v, const char *message)
#define SMOKE_CACHE_VERSION "1.04"
+static void writeArrToFile(char* name, float* arr, int numElements)
+{
+ FILE *filePtr;
+ filePtr = fopen(name,"w");
+ int i=0;
+ for (i = 0; i < numElements; i++) {
+ fprintf(filePtr, "%f \n", arr[i]);
+ }
+ fclose(filePtr);
+}
+
static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
{
SmokeModifierData *smd= (SmokeModifierData *)smoke_v;
@@ -584,7 +595,6 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
ptcache_file_write(pf, &sds->active_fields, 1, sizeof(int));
ptcache_file_write(pf, &sds->res, 3, sizeof(int));
ptcache_file_write(pf, &sds->dx, 1, sizeof(float));
-
if (sds->fluid) {
size_t res = sds->res[0]*sds->res[1]*sds->res[2];
float dt, dx, *dens, *react, *fuel, *flame, *heat, *heatold, *vx, *vy, *vz, *r, *g, *b;
@@ -598,7 +608,13 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
smoke_export(sds->fluid, &dt, &dx, &dens, &react, &flame, &fuel, &heat, &heatold, &vx, &vy, &vz, &r, &g, &b, &obstacles);
ptcache_file_compressed_write(pf, (unsigned char *)sds->shadow, in_len, out, mode);
+
+ writeArrToFile("sh.txt", sds->shadow, res);
+
ptcache_file_compressed_write(pf, (unsigned char *)dens, in_len, out, mode);
+
+ writeArrToFile("dens.txt", dens, res);
+
if (fluid_fields & SM_ACTIVE_HEAT) {
ptcache_file_compressed_write(pf, (unsigned char *)heat, in_len, out, mode);
ptcache_file_compressed_write(pf, (unsigned char *)heatold, in_len, out, mode);
@@ -614,8 +630,17 @@ static int ptcache_smoke_write(PTCacheFile *pf, void *smoke_v)
ptcache_file_compressed_write(pf, (unsigned char *)b, in_len, out, mode);
}
ptcache_file_compressed_write(pf, (unsigned char *)vx, in_len, out, mode);
+
+ writeArrToFile("vx.txt", vx, res);
+
ptcache_file_compressed_write(pf, (unsigned char *)vy, in_len, out, mode);
+
+ writeArrToFile("vy.txt", vx, res);
+
ptcache_file_compressed_write(pf, (unsigned char *)vz, in_len, out, mode);
+
+ writeArrToFile("vz.txt", vx, res);
+
ptcache_file_compressed_write(pf, (unsigned char *)obstacles, (unsigned int)res, out, mode);
ptcache_file_write(pf, &dt, 1, sizeof(float));
ptcache_file_write(pf, &dx, 1, sizeof(float));