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:
authorDaniel Genrich <daniel.genrich@gmx.net>2012-04-29 01:46:43 +0400
committerDaniel Genrich <daniel.genrich@gmx.net>2012-04-29 01:46:43 +0400
commit8bf8a128c2f1df5c85ee0005d1821316d3e88261 (patch)
treeabbc6dc6eedefc185dd27c96b39a027a9ce19d38 /source/blender/makesdna/DNA_smoke_types.h
parent4465d2f419a8515df41a8fc415774eedaef0e6f6 (diff)
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.
Diffstat (limited to 'source/blender/makesdna/DNA_smoke_types.h')
-rw-r--r--source/blender/makesdna/DNA_smoke_types.h12
1 files changed, 9 insertions, 3 deletions
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;