|
Blender V4.3
|
#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 |
| #define DT_DEFAULT 0.1f |
| void BKE_fluid_cache_endframe_set | ( | FluidDomainSettings * | settings, |
| int | value ) |
| void BKE_fluid_cache_new_name_for_current_session | ( | int | maxlen, |
| char * | r_name ) |
Definition at line 5105 of file fluid.cc.
References BLI_hash_int(), BLI_snprintf(), and FLUID_DOMAIN_DIR_DEFAULT.
Referenced by BKE_fluid_modifier_create_type_data(), and fluid_validatepaths().
| void BKE_fluid_cache_startframe_set | ( | FluidDomainSettings * | settings, |
| int | value ) |
| void BKE_fluid_cachetype_data_set | ( | FluidDomainSettings * | settings, |
| int | cache_data_format ) |
| void BKE_fluid_cachetype_mesh_set | ( | FluidDomainSettings * | settings, |
| int | cache_mesh_format ) |
| void BKE_fluid_cachetype_noise_set | ( | FluidDomainSettings * | settings, |
| int | cache_noise_format ) |
| void BKE_fluid_cachetype_particle_set | ( | FluidDomainSettings * | settings, |
| int | cache_particle_format ) |
| 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().
| void BKE_fluid_domain_type_set | ( | Object * | object, |
| FluidDomainSettings * | settings, | ||
| int | type ) |
Definition at line 4589 of file fluid.cc.
References BKE_fluid_collisionextents_set(), FLUID_DOMAIN_BORDER_BACK, FLUID_DOMAIN_BORDER_BOTTOM, FLUID_DOMAIN_BORDER_FRONT, FLUID_DOMAIN_BORDER_LEFT, FLUID_DOMAIN_BORDER_RIGHT, FLUID_DOMAIN_BORDER_TOP, FLUID_DOMAIN_TYPE_GAS, FLUID_DOMAIN_TYPE_LIQUID, OB_SOLID, and OB_WIRE.
Referenced by modifier_replace_with_fluid().
| 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().
| void BKE_fluid_fields_sanitize | ( | FluidDomainSettings * | settings | ) |
Definition at line 4641 of file fluid.cc.
References ELEM, FLUID_DOMAIN_FIELD_COLOR_B, FLUID_DOMAIN_FIELD_COLOR_G, FLUID_DOMAIN_FIELD_COLOR_R, FLUID_DOMAIN_FIELD_DENSITY, FLUID_DOMAIN_FIELD_FLAME, FLUID_DOMAIN_FIELD_FUEL, FLUID_DOMAIN_FIELD_HEAT, FLUID_DOMAIN_FIELD_PHI, FLUID_DOMAIN_FIELD_PHI_IN, FLUID_DOMAIN_FIELD_PHI_OBSTACLE, FLUID_DOMAIN_FIELD_PHI_OUT, FLUID_DOMAIN_TYPE_GAS, FLUID_DOMAIN_TYPE_LIQUID, VDB_PRECISION_HALF_FLOAT, and VDB_PRECISION_MINI_FLOAT.
| 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().
| void BKE_fluid_flow_type_set | ( | Object * | object, |
| FluidFlowSettings * | settings, | ||
| int | type ) |
Definition at line 4621 of file fluid.cc.
References BKE_fluid_flow_behavior_set(), FLUID_FLOW_BEHAVIOR_GEOMETRY, FLUID_FLOW_BEHAVIOR_INFLOW, and FLUID_FLOW_TYPE_LIQUID.
Referenced by modifier_replace_with_fluid().
| 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.
| void BKE_fluid_modifier_create_type_data | ( | FluidModifierData * | fmd | ) |
Definition at line 4806 of file fluid.cc.
References BKE_effector_add_weights(), BKE_fluid_cache_new_name_for_current_session(), BKE_modifier_path_init(), BKE_ptcache_add(), BLI_rw_mutex_alloc(), FluidDomainSettings::cache_data_format, FluidDomainSettings::cache_directory, FluidDomainSettings::cache_noise_format, FluidDomainSettings::cache_particle_format, DNA_struct_default_alloc, FluidModifierData::domain, FluidModifierData::effector, FluidDomainSettings::effector_weights, PointCache::flag, FluidModifierData::flow, FLUID_DOMAIN_FILE_UNI, fluid_modifier_freeDomain(), fluid_modifier_freeEffector(), fluid_modifier_freeFlow(), FluidDomainSettings::fluid_mutex, FluidDomainSettings::fmd, FluidEffectorSettings::fmd, FluidFlowSettings::fmd, MOD_FLUID_TYPE_DOMAIN, MOD_FLUID_TYPE_EFFEC, MOD_FLUID_TYPE_FLOW, FluidDomainSettings::openvdb_compression, FluidDomainSettings::point_cache, PTCACHE_DISK_CACHE, FluidDomainSettings::ptcaches, PointCache::step, FluidModifierData::type, and VDB_COMPRESSION_ZIP.
Referenced by BKE_fluid_modifier_copy(), and modifier_ensure_type().
| void BKE_fluid_modifier_free | ( | FluidModifierData * | fmd | ) |
Definition at line 4795 of file fluid.cc.
References fluid_modifier_freeDomain(), fluid_modifier_freeEffector(), and fluid_modifier_freeFlow().
Referenced by copy_data(), free_data(), and modifier_ensure_type().
| void BKE_fluid_modifier_reset | ( | FluidModifierData * | fmd | ) |
Definition at line 4790 of file fluid.cc.
References fluid_modifier_reset_ex().
| void BKE_fluid_particles_set | ( | FluidDomainSettings * | settings, |
| int | value, | ||
| bool | clear ) |
|
static |
Definition at line 4688 of file fluid.cc.
References BKE_ptcache_free_list(), BLI_rw_mutex_free(), FluidDomainSettings::coba, FluidModifierData::domain, FluidDomainSettings::effector_weights, eModifierFlag_SharedCaches, ModifierData::flag, FluidDomainSettings::fluid, FluidDomainSettings::fluid_mutex, manta_free(), MEM_freeN(), MEM_SAFE_FREE, FluidModifierData::modifier, FluidDomainSettings::point_cache, and FluidDomainSettings::ptcaches.
Referenced by BKE_fluid_modifier_create_type_data(), and BKE_fluid_modifier_free().
|
static |
Definition at line 4734 of file fluid.cc.
References BKE_id_free(), FluidModifierData::effector, FluidEffectorSettings::flags, MEM_freeN(), MEM_SAFE_FREE, FluidEffectorSettings::mesh, FluidEffectorSettings::numverts, and FluidEffectorSettings::verts_old.
Referenced by BKE_fluid_modifier_create_type_data(), and BKE_fluid_modifier_free().
|
static |
Definition at line 4717 of file fluid.cc.
References BKE_id_free(), FluidFlowSettings::flags, FluidModifierData::flow, MEM_freeN(), MEM_SAFE_FREE, FluidFlowSettings::mesh, FluidFlowSettings::numverts, and FluidFlowSettings::verts_old.
Referenced by BKE_fluid_modifier_create_type_data(), and BKE_fluid_modifier_free().
|
static |
Definition at line 4751 of file fluid.cc.
References FluidDomainSettings::active_fields, BLI_rw_mutex_lock(), BLI_rw_mutex_unlock(), FluidModifierData::domain, FluidModifierData::effector, FluidEffectorSettings::flags, FluidFlowSettings::flags, FluidModifierData::flow, FluidDomainSettings::fluid, FluidDomainSettings::fluid_mutex, manta_free(), MEM_SAFE_FREE, FluidEffectorSettings::numverts, FluidFlowSettings::numverts, THREAD_LOCK_WRITE, FluidModifierData::time, FluidDomainSettings::total_cells, FluidEffectorSettings::verts_old, and FluidFlowSettings::verts_old.
Referenced by BKE_fluid_modifier_reset().