Blender V4.3
fluid.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_fileops.h"
#include "BLI_hash.h"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_path_utils.hh"
#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.hh"
#include "BKE_effect.h"
#include "BKE_fluid.h"
#include "BKE_global.hh"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_modifier.hh"
#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 fluid_modifier_reset_ex (FluidModifierData *fmd, bool need_lock)
 
static void fluid_modifier_freeDomain (FluidModifierData *fmd)
 
static void fluid_modifier_freeFlow (FluidModifierData *fmd)
 
static void fluid_modifier_freeEffector (FluidModifierData *fmd)
 
void BKE_fluid_modifier_reset (FluidModifierData *fmd)
 
void BKE_fluid_modifier_free (FluidModifierData *fmd)
 
void BKE_fluid_modifier_create_type_data (FluidModifierData *fmd)
 
void BKE_fluid_modifier_copy (const FluidModifierData *fmd, 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 *, FluidFlowSettings *settings, int behavior)
 
void BKE_fluid_flow_type_set (Object *object, FluidFlowSettings *settings, int type)
 
void BKE_fluid_effector_type_set (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 80 of file fluid.cc.

◆ PHI_MAX

#define PHI_MAX   9999.0f

Max value for phi initialization

Definition at line 83 of file fluid.cc.

Function Documentation

◆ BKE_fluid_cache_endframe_set()

void BKE_fluid_cache_endframe_set ( FluidDomainSettings * settings,
int value )

Definition at line 4527 of file fluid.cc.

◆ 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 )

Definition at line 4521 of file fluid.cc.

◆ BKE_fluid_cachetype_data_set()

void BKE_fluid_cachetype_data_set ( FluidDomainSettings * settings,
int cache_data_format )

Definition at line 4542 of file fluid.cc.

◆ BKE_fluid_cachetype_mesh_set()

void BKE_fluid_cachetype_mesh_set ( FluidDomainSettings * settings,
int cache_mesh_format )

Definition at line 4533 of file fluid.cc.

◆ BKE_fluid_cachetype_noise_set()

void BKE_fluid_cachetype_noise_set ( FluidDomainSettings * settings,
int cache_noise_format )

Definition at line 4560 of file fluid.cc.

◆ BKE_fluid_cachetype_particle_set()

void BKE_fluid_cachetype_particle_set ( FluidDomainSettings * settings,
int cache_particle_format )

Definition at line 4551 of file fluid.cc.

◆ BKE_fluid_collisionextents_set()

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

Definition at line 4569 of file fluid.cc.

References clear().

Referenced by BKE_fluid_domain_type_set().

◆ BKE_fluid_domain_type_set()

◆ BKE_fluid_effector_type_set()

void BKE_fluid_effector_type_set ( Object * object,
FluidEffectorSettings * settings,
int type )

Definition at line 4636 of file fluid.cc.

Referenced by modifier_replace_with_fluid().

◆ BKE_fluid_fields_sanitize()

◆ BKE_fluid_flow_behavior_set()

void BKE_fluid_flow_behavior_set ( Object * object,
FluidFlowSettings * settings,
int behavior )

Definition at line 4616 of file fluid.cc.

Referenced by BKE_fluid_flow_type_set(), and modifier_replace_with_fluid().

◆ 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 FluidModifierData * fmd,
FluidModifierData * tfmd,
const int flag )

Definition at line 4862 of file fluid.cc.

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(), 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, flag, ModifierData::flag, FluidDomainSettings::flags, FluidEffectorSettings::flags, FluidFlowSettings::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, STRNCPY, FluidEffectorSettings::subframes, FluidFlowSettings::subframes, FluidEffectorSettings::surface_distance, FluidFlowSettings::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, FluidEffectorSettings::type, FluidFlowSettings::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, FluidEffectorSettings::vel_multi, FluidFlowSettings::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.

◆ BKE_fluid_modifier_create_type_data()

◆ BKE_fluid_modifier_free()

void BKE_fluid_modifier_free ( FluidModifierData * fmd)

◆ BKE_fluid_modifier_reset()

void BKE_fluid_modifier_reset ( FluidModifierData * fmd)

Definition at line 4790 of file fluid.cc.

References fluid_modifier_reset_ex().

◆ BKE_fluid_particles_set()

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

Definition at line 4579 of file fluid.cc.

References clear().

◆ fluid_modifier_freeDomain()

◆ fluid_modifier_freeEffector()

◆ fluid_modifier_freeFlow()

◆ fluid_modifier_reset_ex()