Blender  V2.93
BKE_fluid.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) Blender Foundation.
17  * All rights reserved.
18  */
19 
20 #pragma once
21 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 struct Depsgraph;
31 struct FluidDomainSettings;
33 struct FluidFlowSettings;
34 struct FluidModifierData;
35 struct Main;
36 struct Scene;
37 
39  float *result, const float *input, int res[3], int *pixel, float *tRay, float correct);
40 
42  struct Depsgraph *depsgraph,
43  struct Scene *scene,
44  struct Object *ob,
45  struct Mesh *me);
46 
50 void BKE_fluid_modifier_copy(const struct FluidModifierData *fmd,
51  struct FluidModifierData *tfmd,
52  const int flag);
53 
54 bool BKE_fluid_reallocate_fluid(struct FluidDomainSettings *fds, int res[3], int free_old);
56  int o_res[3],
57  int n_res[3],
58  const int o_min[3],
59  const int n_min[3],
60  const int o_max[3],
61  int o_shift[3],
62  int n_shift[3]);
63 void BKE_fluid_cache_free_all(struct FluidDomainSettings *fds, struct Object *ob);
64 void BKE_fluid_cache_free(struct FluidDomainSettings *fds, struct Object *ob, int cache_map);
65 void BKE_fluid_cache_new_name_for_current_session(int maxlen, char *r_name);
66 
67 float BKE_fluid_get_velocity_at(struct Object *ob, float position[3], float velocity[3]);
69 
71  struct Object *ob,
72  const char *pset_name,
73  const char *parts_name,
74  const char *psys_name,
75  const int psys_type);
76 void BKE_fluid_particle_system_destroy(struct Object *ob, const int particle_type);
77 
78 void BKE_fluid_cache_startframe_set(struct FluidDomainSettings *settings, int value);
79 void BKE_fluid_cache_endframe_set(struct FluidDomainSettings *settings, int value);
80 
81 void BKE_fluid_cachetype_mesh_set(struct FluidDomainSettings *settings, int cache_mesh_format);
82 void BKE_fluid_cachetype_data_set(struct FluidDomainSettings *settings, int cache_data_format);
84  int cache_particle_format);
85 void BKE_fluid_cachetype_noise_set(struct FluidDomainSettings *settings, int cache_noise_format);
86 void BKE_fluid_collisionextents_set(struct FluidDomainSettings *settings, int value, bool clear);
87 void BKE_fluid_particles_set(struct FluidDomainSettings *settings, int value, bool clear);
88 
89 void BKE_fluid_domain_type_set(struct Object *object,
90  struct FluidDomainSettings *settings,
91  int type);
92 void BKE_fluid_flow_type_set(struct Object *object, struct FluidFlowSettings *settings, int type);
93 void BKE_fluid_effector_type_set(struct Object *object,
94  struct FluidEffectorSettings *settings,
95  int type);
96 void BKE_fluid_fields_sanitize(struct FluidDomainSettings *settings);
97 void BKE_fluid_flow_behavior_set(struct Object *object,
98  struct FluidFlowSettings *settings,
99  int behavior);
100 
101 #ifdef __cplusplus
102 }
103 #endif
typedef float(TangentPoint)[2]
void BKE_fluid_cache_free_all(struct FluidDomainSettings *fds, struct Object *ob)
void BKE_fluid_modifier_reset(struct FluidModifierData *fmd)
Definition: fluid.c:4876
int BKE_fluid_get_data_flags(struct FluidDomainSettings *fds)
void BKE_fluid_particles_set(struct FluidDomainSettings *settings, int value, bool clear)
Definition: fluid.c:4648
void BKE_fluid_flow_behavior_set(struct Object *object, struct FluidFlowSettings *settings, int behavior)
void BKE_fluid_modifier_copy(const struct FluidModifierData *fmd, struct FluidModifierData *tfmd, const int flag)
Definition: fluid.c:4948
bool BKE_fluid_reallocate_fluid(struct FluidDomainSettings *fds, int res[3], int free_old)
void BKE_fluid_effector_type_set(struct Object *object, struct FluidEffectorSettings *settings, int type)
void BKE_fluid_cache_endframe_set(struct FluidDomainSettings *settings, int value)
Definition: fluid.c:4596
void BKE_fluid_domain_type_set(struct Object *object, struct FluidDomainSettings *settings, int type)
Definition: fluid.c:4658
void BKE_fluid_particle_system_destroy(struct Object *ob, const int particle_type)
void BKE_fluid_cache_startframe_set(struct FluidDomainSettings *settings, int value)
Definition: fluid.c:4590
void BKE_fluid_particle_system_create(struct Main *bmain, struct Object *ob, const char *pset_name, const char *parts_name, const char *psys_name, const int psys_type)
void BKE_fluid_cachetype_noise_set(struct FluidDomainSettings *settings, int cache_noise_format)
Definition: fluid.c:4629
void BKE_fluid_cachetype_particle_set(struct FluidDomainSettings *settings, int cache_particle_format)
Definition: fluid.c:4620
void BKE_fluid_fields_sanitize(struct FluidDomainSettings *settings)
Definition: fluid.c:4710
void BKE_fluid_collisionextents_set(struct FluidDomainSettings *settings, int value, bool clear)
Definition: fluid.c:4638
void BKE_fluid_modifier_create_type_data(struct FluidModifierData *fmd)
Definition: fluid.c:4892
void BKE_fluid_cachetype_mesh_set(struct FluidDomainSettings *settings, int cache_mesh_format)
Definition: fluid.c:4602
struct Mesh * BKE_fluid_modifier_do(struct FluidModifierData *fmd, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct Mesh *me)
void BKE_fluid_cache_new_name_for_current_session(int maxlen, char *r_name)
Definition: fluid.c:5195
float(* BKE_Fluid_BresenhamFn)(float *result, const float *input, int res[3], int *pixel, float *tRay, float correct)
Definition: BKE_fluid.h:38
void BKE_fluid_reallocate_copy_fluid(struct FluidDomainSettings *fds, int o_res[3], int n_res[3], const int o_min[3], const int n_min[3], const int o_max[3], int o_shift[3], int n_shift[3])
float BKE_fluid_get_velocity_at(struct Object *ob, float position[3], float velocity[3])
void BKE_fluid_flow_type_set(struct Object *object, struct FluidFlowSettings *settings, int type)
Definition: fluid.c:4690
void BKE_fluid_modifier_free(struct FluidModifierData *fmd)
Definition: fluid.c:4881
void BKE_fluid_cachetype_data_set(struct FluidDomainSettings *settings, int cache_data_format)
Definition: fluid.c:4611
void BKE_fluid_cache_free(struct FluidDomainSettings *fds, struct Object *ob, int cache_map)
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:51
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Scene scene
const Depsgraph * depsgraph
static void clear(Message *msg)
Definition: msgfmt.c:294
Definition: BKE_main.h:116
short flag