2026-02-16
This commit is contained in:
@@ -834,6 +834,21 @@ class FluidSimulation(object):
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self()])
|
||||
|
||||
@property
|
||||
def enable_fluid_particle_density_attribute(self):
|
||||
libfunc = lib.FluidSimulation_is_fluid_particle_density_attribute_enabled
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int)
|
||||
return bool(pb.execute_lib_func(libfunc, [self()]))
|
||||
|
||||
@enable_fluid_particle_density_attribute.setter
|
||||
def enable_fluid_particle_density_attribute(self, boolval):
|
||||
if boolval:
|
||||
libfunc = lib.FluidSimulation_enable_fluid_particle_density_attribute
|
||||
else:
|
||||
libfunc = lib.FluidSimulation_disable_fluid_particle_density_attribute
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self()])
|
||||
|
||||
@property
|
||||
def enable_fluid_particle_uid_attribute(self):
|
||||
libfunc = lib.FluidSimulation_is_fluid_particle_uid_attribute_enabled
|
||||
@@ -1144,6 +1159,21 @@ class FluidSimulation(object):
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self()])
|
||||
|
||||
@property
|
||||
def enable_surface_density_attribute(self):
|
||||
libfunc = lib.FluidSimulation_is_surface_density_attribute_enabled
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int)
|
||||
return bool(pb.execute_lib_func(libfunc, [self()]))
|
||||
|
||||
@enable_surface_density_attribute.setter
|
||||
def enable_surface_density_attribute(self, boolval):
|
||||
if boolval:
|
||||
libfunc = lib.FluidSimulation_enable_surface_density_attribute
|
||||
else:
|
||||
libfunc = lib.FluidSimulation_disable_surface_density_attribute
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self()])
|
||||
|
||||
@property
|
||||
def enable_remove_surface_near_domain(self):
|
||||
libfunc = lib.FluidSimulation_is_remove_surface_near_domain_enabled
|
||||
@@ -2750,6 +2780,10 @@ class FluidSimulation(object):
|
||||
return self._get_output_data(lib.FluidSimulation_get_surface_viscosity_attribute_data_size,
|
||||
lib.FluidSimulation_get_surface_viscosity_attribute_data)
|
||||
|
||||
def get_surface_density_attribute_data(self):
|
||||
return self._get_output_data(lib.FluidSimulation_get_surface_density_attribute_data_size,
|
||||
lib.FluidSimulation_get_surface_density_attribute_data)
|
||||
|
||||
def get_whitewater_foam_id_attribute_data(self):
|
||||
return self._get_output_data(lib.FluidSimulation_get_whitewater_foam_id_attribute_data_size,
|
||||
lib.FluidSimulation_get_whitewater_foam_id_attribute_data)
|
||||
@@ -2854,6 +2888,14 @@ class FluidSimulation(object):
|
||||
return self._get_output_data(lib.FluidSimulation_get_fluid_particle_viscosity_attribute_data_size,
|
||||
lib.FluidSimulation_get_fluid_particle_viscosity_attribute_data)
|
||||
|
||||
def get_fluid_particle_density_attribute_data(self):
|
||||
return self._get_output_data(lib.FluidSimulation_get_fluid_particle_density_attribute_data_size,
|
||||
lib.FluidSimulation_get_fluid_particle_density_attribute_data)
|
||||
|
||||
def get_fluid_particle_density_average_attribute_data(self):
|
||||
return self._get_output_data(lib.FluidSimulation_get_fluid_particle_density_average_attribute_data_size,
|
||||
lib.FluidSimulation_get_fluid_particle_density_average_attribute_data)
|
||||
|
||||
def get_fluid_particle_whitewater_proximity_attribute_data(self):
|
||||
return self._get_output_data(lib.FluidSimulation_get_fluid_particle_whitewater_proximity_attribute_data_size,
|
||||
lib.FluidSimulation_get_fluid_particle_whitewater_proximity_attribute_data)
|
||||
@@ -2985,6 +3027,11 @@ class FluidSimulation(object):
|
||||
return self._get_output_data_range(lib.FluidSimulation_get_marker_particle_viscosity_data_range,
|
||||
start_idx, end_idx, size_of_float)
|
||||
|
||||
def get_marker_particle_density_data_range(self, start_idx, end_idx):
|
||||
size_of_float = 4
|
||||
return self._get_output_data_range(lib.FluidSimulation_get_marker_particle_density_data_range,
|
||||
start_idx, end_idx, size_of_float)
|
||||
|
||||
def get_marker_particle_id_data_range(self, start_idx, end_idx):
|
||||
size_of_short = 2
|
||||
return self._get_output_data_range(lib.FluidSimulation_get_marker_particle_id_data_range,
|
||||
@@ -3136,6 +3183,17 @@ class FluidSimulation(object):
|
||||
pb.init_lib_func(libfunc, [c_void_p, FluidSimulationMarkerParticleViscosityData_t, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self(), pdata])
|
||||
|
||||
def load_marker_particle_density_data(self, num_particles, density_data):
|
||||
c_density_data = (c_char * len(density_data)).from_buffer_copy(density_data)
|
||||
|
||||
pdata = FluidSimulationMarkerParticleDensityData_t()
|
||||
pdata.size = c_int(num_particles)
|
||||
pdata.density = ctypes.cast(c_density_data, c_char_p)
|
||||
|
||||
libfunc = lib.FluidSimulation_load_marker_particle_density_data
|
||||
pb.init_lib_func(libfunc, [c_void_p, FluidSimulationMarkerParticleDensityData_t, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self(), pdata])
|
||||
|
||||
def load_marker_particle_id_data(self, num_particles, id_data):
|
||||
c_id_data = (c_char * len(id_data)).from_buffer_copy(id_data)
|
||||
|
||||
@@ -3224,6 +3282,7 @@ class FluidSimulationFrameStats_t(ctypes.Structure):
|
||||
("surfacecolor", FluidSimulationMeshStats_t),
|
||||
("surfacesourceid", FluidSimulationMeshStats_t),
|
||||
("surfaceviscosity", FluidSimulationMeshStats_t),
|
||||
("surfacedensity", FluidSimulationMeshStats_t),
|
||||
("foam", FluidSimulationMeshStats_t),
|
||||
("bubble", FluidSimulationMeshStats_t),
|
||||
("spray", FluidSimulationMeshStats_t),
|
||||
@@ -3254,6 +3313,8 @@ class FluidSimulationFrameStats_t(ctypes.Structure):
|
||||
("fluidparticlesage", FluidSimulationMeshStats_t),
|
||||
("fluidparticleslifetime", FluidSimulationMeshStats_t),
|
||||
("fluidparticlesviscosity", FluidSimulationMeshStats_t),
|
||||
("fluidparticlesdensity", FluidSimulationMeshStats_t),
|
||||
("fluidparticlesdensityaverage", FluidSimulationMeshStats_t),
|
||||
("fluidparticleswhitewaterproximity", FluidSimulationMeshStats_t),
|
||||
("fluidparticlessourceid", FluidSimulationMeshStats_t),
|
||||
("particles", FluidSimulationMeshStats_t),
|
||||
@@ -3296,6 +3357,10 @@ class FluidSimulationMarkerParticleViscosityData_t(ctypes.Structure):
|
||||
_fields_ = [("size", c_int),
|
||||
("viscosity", c_char_p)]
|
||||
|
||||
class FluidSimulationMarkerParticleDensityData_t(ctypes.Structure):
|
||||
_fields_ = [("size", c_int),
|
||||
("density", c_char_p)]
|
||||
|
||||
class FluidSimulationMarkerParticleIDData_t(ctypes.Structure):
|
||||
_fields_ = [("size", c_int),
|
||||
("id", c_char_p)]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -258,6 +258,18 @@ class MeshFluidSource():
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self(), float(v)])
|
||||
|
||||
@property
|
||||
def density(self):
|
||||
libfunc = lib.MeshFluidSource_get_density
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int)
|
||||
return pb.execute_lib_func(libfunc, [self()])
|
||||
|
||||
@density.setter
|
||||
def density(self, v):
|
||||
libfunc = lib.MeshFluidSource_set_density
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self(), float(v)])
|
||||
|
||||
@property
|
||||
def lifetime(self):
|
||||
libfunc = lib.MeshFluidSource_get_lifetime
|
||||
|
||||
@@ -233,6 +233,18 @@ class MeshObject():
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self(), float(v)])
|
||||
|
||||
@property
|
||||
def density(self):
|
||||
libfunc = lib.MeshObject_get_density
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_void_p], c_int)
|
||||
return pb.execute_lib_func(libfunc, [self()])
|
||||
|
||||
@density.setter
|
||||
def density(self, v):
|
||||
libfunc = lib.MeshObject_set_density
|
||||
pb.init_lib_func(libfunc, [c_void_p, c_float, c_void_p], None)
|
||||
pb.execute_lib_func(libfunc, [self(), float(v)])
|
||||
|
||||
@property
|
||||
def lifetime(self):
|
||||
libfunc = lib.MeshObject_get_lifetime
|
||||
|
||||
Reference in New Issue
Block a user