static int rna_SmokeModifier_color_grid_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION]) { rna_SmokeModifier_grid_get_length(ptr, length); length[0] *= 4; return length[0]; }
static void rna_SmokeModifier_flame_grid_get(PointerRNA *ptr, float *values) { #ifdef WITH_SMOKE SmokeDomainSettings *sds = (SmokeDomainSettings *)ptr->data; int length[RNA_MAX_ARRAY_DIMENSION]; int size = rna_SmokeModifier_grid_get_length(ptr, length); float *flame; BLI_rw_mutex_lock(sds->fluid_mutex, THREAD_LOCK_READ); if (sds->flags & MOD_SMOKE_HIGHRES && sds->wt) flame = smoke_turbulence_get_flame(sds->wt); else flame = smoke_get_flame(sds->fluid); if (flame) memcpy(values, flame, size * sizeof(float)); else memset(values, 0, size * sizeof(float)); BLI_rw_mutex_unlock(sds->fluid_mutex); #else UNUSED_VARS(ptr, values); #endif }
static void rna_SmokeModifier_density_grid_get(PointerRNA *ptr, float *values) { #ifdef WITH_SMOKE SmokeDomainSettings *sds = (SmokeDomainSettings *)ptr->data; int length[RNA_MAX_ARRAY_DIMENSION]; int size = rna_SmokeModifier_grid_get_length(ptr, length); float *density; BLI_rw_mutex_lock(sds->fluid_mutex, THREAD_LOCK_READ); if (sds->flags & MOD_SMOKE_HIGHRES && sds->wt) density = smoke_turbulence_get_density(sds->wt); else density = smoke_get_density(sds->fluid); memcpy(values, density, size * sizeof(float)); BLI_rw_mutex_unlock(sds->fluid_mutex); #else (void)ptr; (void)values; #endif }