1
1
# Blender FLIP Fluids Add-on
2
- # Copyright (C) 2022 Ryan L. Guy
2
+ # Copyright (C) 2023 Ryan L. Guy
3
3
#
4
4
# This program is free software: you can redistribute it and/or modify
5
5
# it under the terms of the GNU General Public License as published by
@@ -821,6 +821,12 @@ def __initialize_fluid_simulation_settings(fluidsim, data):
821
821
fluidsim .set_domain_offset (bbox .x , bbox .y , bbox .z )
822
822
fluidsim .set_domain_scale (1.0 / dprops .initialize .scale )
823
823
824
+ fluid_boundary_collisions = __get_parameter_data (dprops .simulation .fluid_boundary_collisions , frameno )
825
+ fluidsim .fluid_boundary_collisions = fluid_boundary_collisions
826
+
827
+ open_boundary_width = __get_parameter_data (dprops .simulation .fluid_open_boundary_width , frameno )
828
+ fluidsim .fluid_open_boundary_width = open_boundary_width
829
+
824
830
# Whitewater Simulation Settings
825
831
826
832
whitewater = dprops .whitewater
@@ -900,6 +906,25 @@ def __initialize_fluid_simulation_settings(fluidsim, data):
900
906
fluidsim .spray_particle_lifetime_modifier = 1.0 / max (spray_modifier , 1e-6 )
901
907
fluidsim .dust_particle_lifetime_modifier = 1.0 / max (dust_modifier , 1e-6 )
902
908
909
+ boundary_collisions_mode = __get_parameter_data (whitewater .whitewater_boundary_collisions_mode , frameno )
910
+ if boundary_collisions_mode == 'BOUNDARY_COLLISIONS_MODE_INHERIT' :
911
+ fluid_boundary_collisions = __get_parameter_data (dprops .simulation .fluid_boundary_collisions , frameno )
912
+ foam_boundary_collisions = fluid_boundary_collisions
913
+ bubble_boundary_collisions = fluid_boundary_collisions
914
+ spray_boundary_collisions = fluid_boundary_collisions
915
+ dust_boundary_collisions = fluid_boundary_collisions
916
+ else :
917
+ foam_boundary_collisions = __get_parameter_data (whitewater .foam_boundary_collisions , frameno )
918
+ bubble_boundary_collisions = __get_parameter_data (whitewater .bubble_boundary_collisions , frameno )
919
+ spray_boundary_collisions = __get_parameter_data (whitewater .spray_boundary_collisions , frameno )
920
+ dust_boundary_collisions = __get_parameter_data (whitewater .dust_boundary_collisions , frameno )
921
+
922
+ fluidsim .foam_boundary_collisions = foam_boundary_collisions
923
+ fluidsim .bubble_boundary_collisions = bubble_boundary_collisions
924
+ fluidsim .spray_boundary_collisions = spray_boundary_collisions
925
+ fluidsim .dust_boundary_collisions = dust_boundary_collisions
926
+
927
+ """
903
928
foam_behaviour = __get_parameter_data(whitewater.foam_boundary_behaviour, frameno)
904
929
bubble_behaviour = __get_parameter_data(whitewater.bubble_boundary_behaviour, frameno)
905
930
spray_behaviour = __get_parameter_data(whitewater.spray_boundary_behaviour, frameno)
@@ -921,6 +946,7 @@ def __initialize_fluid_simulation_settings(fluidsim, data):
921
946
fluidsim.diffuse_bubble_active_boundary_sides = bubble_active_sides
922
947
fluidsim.diffuse_spray_active_boundary_sides = spray_active_sides
923
948
fluidsim.diffuse_dust_active_boundary_sides = dust_active_sides
949
+ """
924
950
925
951
strength = __get_parameter_data (whitewater .foam_advection_strength , frameno )
926
952
foam_depth = __get_parameter_data (whitewater .foam_layer_depth , frameno )
@@ -1054,8 +1080,12 @@ def __initialize_fluid_simulation_settings(fluidsim, data):
1054
1080
1055
1081
fluidsim .enable_surface_velocity_attribute = \
1056
1082
__get_parameter_data (surface .enable_velocity_vector_attribute , frameno )
1057
- fluidsim .enable_surface_velocity_attribute_against_obstacles = \
1058
- __get_parameter_data (surface .enable_velocity_vector_attribute_against_obstacles , frameno )
1083
+
1084
+ # Option should always be enabled
1085
+ # fluidsim.enable_surface_velocity_attribute_against_obstacles = \
1086
+ # __get_parameter_data(surface.enable_velocity_vector_attribute_against_obstacles, frameno)
1087
+ fluidsim .enable_surface_velocity_attribute_against_obstacles = True
1088
+
1059
1089
fluidsim .enable_surface_speed_attribute = \
1060
1090
__get_parameter_data (surface .enable_speed_attribute , frameno )
1061
1091
fluidsim .enable_surface_vorticity_attribute = \
@@ -1705,6 +1735,13 @@ def __set_meshing_volume_object(fluidsim, data, frameid=0):
1705
1735
def __update_animatable_domain_properties (fluidsim , data , frameno ):
1706
1736
dprops = data .domain_data
1707
1737
1738
+ # Simulation Settings
1739
+ fluid_boundary_collisions = __get_parameter_data (dprops .simulation .fluid_boundary_collisions , frameno )
1740
+ __set_property (fluidsim , 'fluid_boundary_collisions' , fluid_boundary_collisions )
1741
+
1742
+ open_boundary_width = __get_parameter_data (dprops .simulation .fluid_open_boundary_width , frameno )
1743
+ __set_property (fluidsim , 'fluid_open_boundary_width' , open_boundary_width )
1744
+
1708
1745
# Whitewater Simulation Settings
1709
1746
whitewater = dprops .whitewater
1710
1747
if __get_parameter_data (whitewater .enable_whitewater_simulation ):
@@ -1771,6 +1808,25 @@ def __update_animatable_domain_properties(fluidsim, data, frameno):
1771
1808
__set_property (fluidsim , 'spray_particle_lifetime_modifier' , 1.0 / max (spray_modifier , 1e-6 ))
1772
1809
__set_property (fluidsim , 'dust_particle_lifetime_modifier' , 1.0 / max (dust_modifier , 1e-6 ))
1773
1810
1811
+ boundary_collisions_mode = __get_parameter_data (whitewater .whitewater_boundary_collisions_mode , frameno )
1812
+ if boundary_collisions_mode == 'BOUNDARY_COLLISIONS_MODE_INHERIT' :
1813
+ fluid_boundary_collisions = __get_parameter_data (dprops .simulation .fluid_boundary_collisions , frameno )
1814
+ foam_boundary_collisions = fluid_boundary_collisions
1815
+ bubble_boundary_collisions = fluid_boundary_collisions
1816
+ spray_boundary_collisions = fluid_boundary_collisions
1817
+ dust_boundary_collisions = fluid_boundary_collisions
1818
+ else :
1819
+ foam_boundary_collisions = __get_parameter_data (whitewater .foam_boundary_collisions , frameno )
1820
+ bubble_boundary_collisions = __get_parameter_data (whitewater .bubble_boundary_collisions , frameno )
1821
+ spray_boundary_collisions = __get_parameter_data (whitewater .spray_boundary_collisions , frameno )
1822
+ dust_boundary_collisions = __get_parameter_data (whitewater .dust_boundary_collisions , frameno )
1823
+
1824
+ __set_property (fluidsim , 'foam_boundary_collisions' , foam_boundary_collisions )
1825
+ __set_property (fluidsim , 'bubble_boundary_collisions' , bubble_boundary_collisions )
1826
+ __set_property (fluidsim , 'spray_boundary_collisions' , spray_boundary_collisions )
1827
+ __set_property (fluidsim , 'dust_boundary_collisions' , dust_boundary_collisions )
1828
+
1829
+ """
1774
1830
foam_behaviour = __get_parameter_data(whitewater.foam_boundary_behaviour, frameno)
1775
1831
bubble_behaviour = __get_parameter_data(whitewater.bubble_boundary_behaviour, frameno)
1776
1832
spray_behaviour = __get_parameter_data(whitewater.spray_boundary_behaviour, frameno)
@@ -1792,6 +1848,7 @@ def __update_animatable_domain_properties(fluidsim, data, frameno):
1792
1848
__set_property(fluidsim, 'diffuse_bubble_active_boundary_sides', bubble_active_sides)
1793
1849
__set_property(fluidsim, 'diffuse_spray_active_boundary_sides', spray_active_sides)
1794
1850
__set_property(fluidsim, 'diffuse_dust_active_boundary_sides', dust_active_sides)
1851
+ """
1795
1852
1796
1853
strength = __get_parameter_data (whitewater .foam_advection_strength , frameno )
1797
1854
foam_depth = __get_parameter_data (whitewater .foam_layer_depth , frameno )
0 commit comments