From 8bf8a128c2f1df5c85ee0005d1821316d3e88261 Mon Sep 17 00:00:00 2001 From: Daniel Genrich Date: Sat, 28 Apr 2012 21:46:43 +0000 Subject: Smoke: Support for moving obstacles. (Merge from Smoke2 branch) Sponsored by the Blender Development Fund. http://www.blender.org/blenderorg/blender-foundation/development-fund/ Remarks: The original code was not designed to support moving obstacles so I had to introduce some velocity constraints into the code to prevent smoke from exploding. If this causes problems with "fire" emulation, please let me know. --- source/blender/makesdna/DNA_smoke_types.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'source/blender/makesdna') diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h index 26b3a3e6c62..3e20b353856 100644 --- a/source/blender/makesdna/DNA_smoke_types.h +++ b/source/blender/makesdna/DNA_smoke_types.h @@ -56,6 +56,11 @@ #define SM_BORDER_VERTICAL 1 #define SM_BORDER_CLOSED 2 +/* collision types */ +#define SM_COLL_STATIC 0 +#define SM_COLL_RIGID 1 +#define SM_COLL_ANIMATED 2 + typedef struct SmokeDomainSettings { struct SmokeModifierData *smd; /* for fast RNA access */ struct FLUID_3D *fluid; @@ -137,15 +142,16 @@ typedef struct SmokeFlowSettings { typedef struct SmokeCollSettings { struct SmokeModifierData *smd; /* for fast RNA access */ struct BVHTree *bvhtree; /* bounding volume hierarchy for this cloth object */ - -// struct DerivedMesh *dm; // UNUSED, ifdef'd in code for now. float *points; float *points_old; - float *vel; + float *vel; // UNUSED + int *tridivs; float mat[4][4]; float mat_old[4][4]; int numpoints; int numverts; // check if mesh changed + int numtris; + float dx; /* global domain cell length taken from (scale / resolution) */ short type; // static = 0, rigid = 1, dynamic = 2 short pad; int pad2; -- cgit v1.2.3