Blender  V3.3
Macros
fluid.c File Reference
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_fileops.h"
#include "BLI_hash.h"
#include "BLI_math.h"
#include "BLI_path_util.h"
#include "BLI_string.h"
#include "BLI_task.h"
#include "BLI_utildefines.h"
#include "DNA_defaults.h"
#include "DNA_fluid_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_rigidbody_types.h"
#include "BKE_attribute.h"
#include "BKE_effect.h"
#include "BKE_fluid.h"
#include "BKE_global.h"
#include "BKE_lib_id.h"
#include "BKE_modifier.h"
#include "BKE_pointcache.h"

Go to the source code of this file.

Macros

#define DT_DEFAULT   0.1f
 
#define PHI_MAX   9999.0f
 

Functions

Public Modifier API

Use for versioning, even when fluids are disabled.

static void BKE_fluid_modifier_reset_ex (struct FluidModifierData *fmd, bool need_lock)
 
static void BKE_fluid_modifier_freeDomain (FluidModifierData *fmd)
 
static void BKE_fluid_modifier_freeFlow (FluidModifierData *fmd)
 
static void BKE_fluid_modifier_freeEffector (FluidModifierData *fmd)
 
void BKE_fluid_modifier_reset (struct FluidModifierData *fmd)
 
void BKE_fluid_modifier_free (FluidModifierData *fmd)
 
void BKE_fluid_modifier_create_type_data (struct FluidModifierData *fmd)
 
void BKE_fluid_modifier_copy (const struct FluidModifierData *fmd, struct FluidModifierData *tfmd, const int flag)
 
void BKE_fluid_cache_new_name_for_current_session (int maxlen, char *r_name)
 
Public Data Access API

Use for versioning, even when fluids are disabled.

void BKE_fluid_cache_startframe_set (FluidDomainSettings *settings, int value)
 
void BKE_fluid_cache_endframe_set (FluidDomainSettings *settings, int value)
 
void BKE_fluid_cachetype_mesh_set (FluidDomainSettings *settings, int cache_mesh_format)
 
void BKE_fluid_cachetype_data_set (FluidDomainSettings *settings, int cache_data_format)
 
void BKE_fluid_cachetype_particle_set (FluidDomainSettings *settings, int cache_particle_format)
 
void BKE_fluid_cachetype_noise_set (FluidDomainSettings *settings, int cache_noise_format)
 
void BKE_fluid_collisionextents_set (FluidDomainSettings *settings, int value, bool clear)
 
void BKE_fluid_particles_set (FluidDomainSettings *settings, int value, bool clear)
 
void BKE_fluid_domain_type_set (Object *object, FluidDomainSettings *settings, int type)
 
void BKE_fluid_flow_behavior_set (Object *UNUSED(object), FluidFlowSettings *settings, int behavior)
 
void BKE_fluid_flow_type_set (Object *object, FluidFlowSettings *settings, int type)
 
void BKE_fluid_effector_type_set (Object *UNUSED(object), FluidEffectorSettings *settings, int type)
 
void BKE_fluid_fields_sanitize (FluidDomainSettings *settings)
 

Macro Definition Documentation

◆ DT_DEFAULT

#define DT_DEFAULT   0.1f

Time step default value for nice appearance.

Definition at line 77 of file fluid.c.

◆ PHI_MAX

#define PHI_MAX   9999.0f

Max value for phi initialization

Definition at line 80 of file fluid.c.

Function Documentation

◆ BKE_fluid_cache_endframe_set()

void BKE_fluid_cache_endframe_set ( FluidDomainSettings settings,
int  value 
)

◆ BKE_fluid_cache_new_name_for_current_session()

void BKE_fluid_cache_new_name_for_current_session ( int  maxlen,
char *  r_name 
)

◆ BKE_fluid_cache_startframe_set()

void BKE_fluid_cache_startframe_set ( FluidDomainSettings settings,
int  value 
)

◆ BKE_fluid_cachetype_data_set()

void BKE_fluid_cachetype_data_set ( FluidDomainSettings settings,
int  cache_data_format 
)

Definition at line 4548 of file fluid.c.

References FluidDomainSettings::cache_data_format.

◆ BKE_fluid_cachetype_mesh_set()

void BKE_fluid_cachetype_mesh_set ( FluidDomainSettings settings,
int  cache_mesh_format 
)

Definition at line 4539 of file fluid.c.

References FluidDomainSettings::cache_mesh_format.

◆ BKE_fluid_cachetype_noise_set()

void BKE_fluid_cachetype_noise_set ( FluidDomainSettings settings,
int  cache_noise_format 
)

Definition at line 4566 of file fluid.c.

References FluidDomainSettings::cache_noise_format.

◆ BKE_fluid_cachetype_particle_set()

void BKE_fluid_cachetype_particle_set ( FluidDomainSettings settings,
int  cache_particle_format 
)

Definition at line 4557 of file fluid.c.

References FluidDomainSettings::cache_particle_format.

◆ BKE_fluid_collisionextents_set()

void BKE_fluid_collisionextents_set ( FluidDomainSettings settings,
int  value,
bool  clear 
)

Definition at line 4575 of file fluid.c.

References FluidDomainSettings::border_collisions, and clear().

Referenced by BKE_fluid_domain_type_set().

◆ BKE_fluid_domain_type_set()

void BKE_fluid_domain_type_set ( Object object,
FluidDomainSettings settings,
int  type 
)

◆ BKE_fluid_effector_type_set()

void BKE_fluid_effector_type_set ( Object UNUSEDobject,
FluidEffectorSettings settings,
int  type 
)

Definition at line 4642 of file fluid.c.

References type, and FluidEffectorSettings::type.

◆ BKE_fluid_fields_sanitize()

void BKE_fluid_fields_sanitize ( FluidDomainSettings settings)

◆ BKE_fluid_flow_behavior_set()

void BKE_fluid_flow_behavior_set ( Object UNUSEDobject,
FluidFlowSettings settings,
int  behavior 
)

Definition at line 4622 of file fluid.c.

References FluidFlowSettings::behavior.

Referenced by BKE_fluid_flow_type_set().

◆ BKE_fluid_flow_type_set()

void BKE_fluid_flow_type_set ( Object object,
FluidFlowSettings settings,
int  type 
)

◆ BKE_fluid_modifier_copy()

void BKE_fluid_modifier_copy ( const struct FluidModifierData fmd,
struct FluidModifierData tfmd,
const int  flag 
)

Definition at line 4865 of file fluid.c.

References FluidDomainSettings::active_fields, FluidDomainSettings::adapt_margin, FluidDomainSettings::adapt_res, FluidDomainSettings::adapt_threshold, FluidDomainSettings::alpha, FluidDomainSettings::axis_slice_method, FluidFlowSettings::behavior, FluidDomainSettings::beta, BKE_fluid_modifier_create_type_data(), BKE_ptcache_copy_list(), BKE_ptcache_free_list(), BLI_strncpy(), FluidDomainSettings::border_collisions, FluidDomainSettings::boundary_width, FluidDomainSettings::burning_rate, FluidDomainSettings::cache_data_format, FluidDomainSettings::cache_directory, FluidDomainSettings::cache_flag, FluidDomainSettings::cache_frame_end, FluidDomainSettings::cache_frame_offset, FluidDomainSettings::cache_frame_pause_data, FluidDomainSettings::cache_frame_pause_guide, FluidDomainSettings::cache_frame_pause_mesh, FluidDomainSettings::cache_frame_pause_noise, FluidDomainSettings::cache_frame_pause_particles, FluidDomainSettings::cache_frame_start, FluidDomainSettings::cache_mesh_format, FluidDomainSettings::cache_noise_format, FluidDomainSettings::cache_particle_format, FluidDomainSettings::cache_type, FluidDomainSettings::cfl_condition, FluidDomainSettings::clipping, FluidDomainSettings::coba, FluidDomainSettings::coba_field, FluidFlowSettings::color, copy_v3_v3(), copy_v3_v3_int(), copy_v4_v4(), FluidFlowSettings::density, FluidDomainSettings::display_thickness, FluidDomainSettings::diss_speed, FluidModifierData::domain, FluidDomainSettings::draw_velocity, FluidModifierData::effector, FluidDomainSettings::effector_group, FluidDomainSettings::effector_weights, eModifierFlag_SharedCaches, Mesh::flag, ModifierData::flag, FluidDomainSettings::flags, FluidFlowSettings::flags, FluidEffectorSettings::flags, FluidDomainSettings::flame_ignition, FluidDomainSettings::flame_max_temp, FluidDomainSettings::flame_smoke, FluidDomainSettings::flame_smoke_color, FluidDomainSettings::flame_vorticity, FluidDomainSettings::flip_ratio, FluidModifierData::flow, FluidDomainSettings::fluid_group, FluidDomainSettings::force_group, FluidDomainSettings::fractions_distance, FluidDomainSettings::fractions_threshold, FluidFlowSettings::fuel_amount, FluidDomainSettings::gravity, FluidDomainSettings::grid_scale, FluidDomainSettings::gridlines_cell_filter, FluidDomainSettings::gridlines_color_field, FluidDomainSettings::gridlines_lower_bound, FluidDomainSettings::gridlines_range_color, FluidDomainSettings::gridlines_upper_bound, FluidDomainSettings::guide_alpha, FluidDomainSettings::guide_beta, FluidEffectorSettings::guide_mode, FluidDomainSettings::guide_parent, FluidDomainSettings::guide_res, FluidDomainSettings::guide_source, FluidDomainSettings::guide_vel_factor, FluidDomainSettings::highres_sampling, FluidDomainSettings::interp_method, LIB_ID_COPY_SET_COPIED_ON_WRITE, FluidDomainSettings::maxres, MEM_dupallocN, MEM_freeN, FluidDomainSettings::mesh_concave_lower, FluidDomainSettings::mesh_concave_upper, FluidDomainSettings::mesh_generator, FluidDomainSettings::mesh_particle_radius, FluidDomainSettings::mesh_scale, FluidDomainSettings::mesh_smoothen_neg, FluidDomainSettings::mesh_smoothen_pos, FluidModifierData::modifier, FluidDomainSettings::noise_pos_scale, FluidDomainSettings::noise_scale, FluidDomainSettings::noise_strength, FluidFlowSettings::noise_texture, FluidDomainSettings::noise_time_anim, FluidDomainSettings::openvdb_compression, FluidDomainSettings::openvdb_data_depth, FluidDomainSettings::particle_band_width, FluidDomainSettings::particle_maximum, FluidDomainSettings::particle_minimum, FluidDomainSettings::particle_number, FluidDomainSettings::particle_radius, FluidDomainSettings::particle_randomness, FluidDomainSettings::particle_scale, FluidFlowSettings::particle_size, FluidDomainSettings::particle_type, FluidDomainSettings::point_cache, FluidFlowSettings::psys, FluidDomainSettings::ptcaches, FluidDomainSettings::show_gridlines, FluidDomainSettings::simulation_method, FluidDomainSettings::slice_axis, FluidDomainSettings::slice_depth, FluidDomainSettings::slice_per_voxel, FluidDomainSettings::sndparticle_boundary, FluidDomainSettings::sndparticle_combined_export, FluidDomainSettings::sndparticle_k_b, FluidDomainSettings::sndparticle_k_d, FluidDomainSettings::sndparticle_k_ta, FluidDomainSettings::sndparticle_k_wc, FluidDomainSettings::sndparticle_l_max, FluidDomainSettings::sndparticle_l_min, FluidDomainSettings::sndparticle_potential_radius, FluidDomainSettings::sndparticle_tau_max_k, FluidDomainSettings::sndparticle_tau_max_ta, FluidDomainSettings::sndparticle_tau_max_wc, FluidDomainSettings::sndparticle_tau_min_k, FluidDomainSettings::sndparticle_tau_min_ta, FluidDomainSettings::sndparticle_tau_min_wc, FluidDomainSettings::sndparticle_update_radius, FluidDomainSettings::solver_res, FluidFlowSettings::source, FluidFlowSettings::subframes, FluidEffectorSettings::subframes, FluidFlowSettings::surface_distance, FluidEffectorSettings::surface_distance, FluidDomainSettings::surface_tension, FluidDomainSettings::sys_particle_maximum, FluidFlowSettings::temperature, FluidFlowSettings::texture_offset, FluidFlowSettings::texture_size, FluidFlowSettings::texture_type, FluidModifierData::time, FluidDomainSettings::time_scale, FluidDomainSettings::timesteps_maximum, FluidDomainSettings::timesteps_minimum, FluidDomainSettings::type, FluidFlowSettings::type, FluidEffectorSettings::type, FluidModifierData::type, FluidDomainSettings::use_coba, FluidFlowSettings::uvlayer_name, FluidDomainSettings::vector_draw_mac_components, FluidDomainSettings::vector_draw_type, FluidDomainSettings::vector_field, FluidDomainSettings::vector_scale, FluidDomainSettings::vector_scale_with_magnitude, FluidFlowSettings::vel_coord, FluidFlowSettings::vel_multi, FluidEffectorSettings::vel_multi, FluidFlowSettings::vel_normal, FluidFlowSettings::vel_random, FluidDomainSettings::velocity_scale, FluidFlowSettings::vgroup_density, FluidDomainSettings::viscosity_base, FluidDomainSettings::viscosity_exponent, FluidDomainSettings::viscosity_value, FluidFlowSettings::volume_density, and FluidDomainSettings::vorticity.

Referenced by copyData().

◆ BKE_fluid_modifier_create_type_data()

void BKE_fluid_modifier_create_type_data ( struct FluidModifierData fmd)

◆ BKE_fluid_modifier_free()

void BKE_fluid_modifier_free ( FluidModifierData fmd)

◆ BKE_fluid_modifier_freeDomain()

static void BKE_fluid_modifier_freeDomain ( FluidModifierData fmd)
static

◆ BKE_fluid_modifier_freeEffector()

static void BKE_fluid_modifier_freeEffector ( FluidModifierData fmd)
static

◆ BKE_fluid_modifier_freeFlow()

static void BKE_fluid_modifier_freeFlow ( FluidModifierData fmd)
static

◆ BKE_fluid_modifier_reset()

void BKE_fluid_modifier_reset ( struct FluidModifierData fmd)

Definition at line 4793 of file fluid.c.

References BKE_fluid_modifier_reset_ex().

◆ BKE_fluid_modifier_reset_ex()

static void BKE_fluid_modifier_reset_ex ( struct FluidModifierData fmd,
bool  need_lock 
)
static

◆ BKE_fluid_particles_set()

void BKE_fluid_particles_set ( FluidDomainSettings settings,
int  value,
bool  clear 
)

Definition at line 4585 of file fluid.c.

References clear(), and FluidDomainSettings::particle_type.