~ubuntu-branches/ubuntu/maverick/blender/maverick

« back to all changes in this revision

Viewing changes to intern/elbeem/extern/elbeem.h

  • Committer: Bazaar Package Importer
  • Author(s): Khashayar Naderehvandi, Khashayar Naderehvandi, Alessio Treglia
  • Date: 2009-01-22 16:53:59 UTC
  • mfrom: (14.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090122165359-v0996tn7fbit64ni
Tags: 2.48a+dfsg-1ubuntu1
[ Khashayar Naderehvandi ]
* Merge from debian experimental (LP: #320045), Ubuntu remaining changes:
  - Add patch correcting header file locations.
  - Add libvorbis-dev and libgsm1-dev to Build-Depends.
  - Use avcodec_decode_audio2() in source/blender/src/hddaudio.c

[ Alessio Treglia ]
* Add missing previous changelog entries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
  short version;
33
33
        /* id number of simulation domain, needed if more than a
34
34
         * single domain should be simulated */
35
 
        short domainId;
 
35
        short domainId; // unused within blender
36
36
 
37
37
        /* geometrical extent */
38
38
        float geoStart[3], geoSize[3];
97
97
 
98
98
 
99
99
// defines for elbeemMesh->type below
 
100
/* please keep in sync with DNA_object_fluidsim.h */
100
101
#define OB_FLUIDSIM_FLUID       4
101
102
#define OB_FLUIDSIM_OBSTACLE    8
102
103
#define OB_FLUIDSIM_INFLOW      16
103
104
#define OB_FLUIDSIM_OUTFLOW     32
 
105
#define OB_FLUIDSIM_PARTICLE    64
 
106
#define OB_FLUIDSIM_CONTROL     128
104
107
 
105
108
// defines for elbeemMesh->obstacleType below
106
109
#define FLUIDSIM_OBSTACLE_NOSLIP     1
113
116
 
114
117
// a single mesh object
115
118
typedef struct elbeemMesh {
116
 
  /* obstacle,fluid or inflow... */
 
119
  /* obstacle,fluid or inflow or control ... */
117
120
  short type;
118
121
        /* id of simulation domain it belongs to */
119
122
        short parentDomainId;
155
158
 
156
159
        /* name of the mesh, mostly for debugging */
157
160
        const char *name;
 
161
        
 
162
        /* fluid control settings */
 
163
        float cpsTimeStart;
 
164
        float cpsTimeEnd;
 
165
        float cpsQuality;
 
166
        
 
167
        int channelSizeAttractforceStrength;
 
168
        float *channelAttractforceStrength;
 
169
        int channelSizeAttractforceRadius;
 
170
        float *channelAttractforceRadius;
 
171
        int channelSizeVelocityforceStrength;
 
172
        float *channelVelocityforceStrength;
 
173
        int channelSizeVelocityforceRadius;
 
174
        float *channelVelocityforceRadius;
158
175
} elbeemMesh;
159
176
 
160
177
// API functions
170
187
// start fluidsim init (returns !=0 upon failure)
171
188
int elbeemInit(void);
172
189
 
 
190
// frees fluidsim
 
191
int elbeemFree(void);
 
192
 
173
193
// start fluidsim init (returns !=0 upon failure)
174
194
int elbeemAddDomain(struct elbeemSimulationSettings*);
175
195
 
223
243
// structs, for these use OB_xxx defines above
224
244
 
225
245
/*! fluid geometry init types */
 
246
// type "int" used, so max is 8
226
247
#define FGI_FLAGSTART   16
227
248
#define FGI_FLUID                         (1<<(FGI_FLAGSTART+ 0))
228
249
#define FGI_NO_FLUID      (1<<(FGI_FLAGSTART+ 1))
232
253
#define FGI_NO_BND                (1<<(FGI_FLAGSTART+ 5))
233
254
#define FGI_MBNDINFLOW  (1<<(FGI_FLAGSTART+ 6))
234
255
#define FGI_MBNDOUTFLOW (1<<(FGI_FLAGSTART+ 7))
 
256
#define FGI_CONTROL     (1<<(FGI_FLAGSTART+ 8))
235
257
 
236
258
// all boundary types at once
237
259
#define FGI_ALLBOUNDS ( FGI_BNDNO | FGI_BNDFREE | FGI_BNDPART | FGI_MBNDINFLOW | FGI_MBNDOUTFLOW )