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

elbeem_control.h « intern « elbeem « intern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 70a58feda8935049236a1a2f28c47ca0c876bee4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/******************************************************************************
 *
 * El'Beem - Free Surface Fluid Simulation with the Lattice Boltzmann Method
 * All code distributed as part of El'Beem is covered by the version 2 of the 
 * GNU General Public License. See the file COPYING for details.
 * Copyright 2003-2006 Nils Thuerey
 *
 * Control API header
 */
#ifndef ELBEEMCONTROL_API_H
#define ELBEEMCONTROL_API_H

// a single control particle set
typedef struct elbeemControl {
	/* influence forces */
	float influenceAttraction;
	float *channelInfluenceAttraction;
	float channelSizeInfluenceAttraction;

	float influenceVelocity;
	float *channelInfluenceVelocity;
	float channelSizeInfluenceVelocity;

	float influenceMaxdist;
	float *channelInfluenceMaxdist;
	float channelSizeInfluenceMaxdist;

	/* influence force radii */
	float radiusAttraction;
	float *channelRadiusAttraction;
	float channelSizeRadiusAttraction;

	float radiusVelocity;
	float *channelRadiusVelocity;
	float channelSizeRadiusVelocity;

	float radiusMindist;
	float *channelRadiusMindist;
	float channelSizeRadiusMindist;
	float radiusMaxdist;
	float *channelRadiusMaxdist;
	float channelSizeRadiusMaxdist;

	/* control particle positions/scale */
	float offset[3];
	float *channelOffset;
	float channelSizeOffset;
	
	float scale[3];
	float *channelScale;
	float channelSizeScale;
	
} elbeemControl;


// add mesh as fluidsim object
int elbeemControlAddSet(struct elbeemControl*);

// sample & track mesh control particles, TODO add return type...
int elbeemControlComputeMesh(struct elbeemMesh*);

#endif // ELBEEMCONTROL_API_H