Blender V2.61 - r43446

elbeem_control.h

Go to the documentation of this file.
00001 
00004 /******************************************************************************
00005  *
00006  * El'Beem - Free Surface Fluid Simulation with the Lattice Boltzmann Method
00007  * All code distributed as part of El'Beem is covered by the version 2 of the 
00008  * GNU General Public License. See the file COPYING for details.
00009  * Copyright 2003-2006 Nils Thuerey
00010  *
00011  * Control API header
00012  */
00013 #ifndef ELBEEMCONTROL_API_H
00014 #define ELBEEMCONTROL_API_H
00015 
00016 // a single control particle set
00017 typedef struct elbeemControl {
00018     /* influence forces */
00019     float influenceAttraction;
00020     float *channelInfluenceAttraction;
00021     float channelSizeInfluenceAttraction;
00022 
00023     float influenceVelocity;
00024     float *channelInfluenceVelocity;
00025     float channelSizeInfluenceVelocity;
00026 
00027     float influenceMaxdist;
00028     float *channelInfluenceMaxdist;
00029     float channelSizeInfluenceMaxdist;
00030 
00031     /* influence force radii */
00032     float radiusAttraction;
00033     float *channelRadiusAttraction;
00034     float channelSizeRadiusAttraction;
00035 
00036     float radiusVelocity;
00037     float *channelRadiusVelocity;
00038     float channelSizeRadiusVelocity;
00039 
00040     float radiusMindist;
00041     float *channelRadiusMindist;
00042     float channelSizeRadiusMindist;
00043     float radiusMaxdist;
00044     float *channelRadiusMaxdist;
00045     float channelSizeRadiusMaxdist;
00046 
00047     /* control particle positions/scale */
00048     float offset[3];
00049     float *channelOffset;
00050     float channelSizeOffset;
00051     
00052     float scale[3];
00053     float *channelScale;
00054     float channelSizeScale;
00055     
00056 } elbeemControl;
00057 
00058 
00059 // add mesh as fluidsim object
00060 int elbeemControlAddSet(struct elbeemControl*);
00061 
00062 // sample & track mesh control particles, TODO add return type...
00063 int elbeemControlComputeMesh(struct elbeemMesh*);
00064 
00065 #endif // ELBEEMCONTROL_API_H