[Bf-blender-cvs] [9cde58c2144] fluid-mantaflow: Fix T51837: Added num particles sanity check when reading particle files. Also fixed num particles field for pVel files
Sebastián Barschkis
noreply at git.blender.org
Fri Jun 23 21:34:48 CEST 2017
Commit: 9cde58c2144ff80c023e1564044b25921662243a
Author: Sebastián Barschkis
Date: Wed Jun 21 23:17:34 2017 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB9cde58c2144ff80c023e1564044b25921662243a
Fix T51837: Added num particles sanity check when reading particle files. Also fixed num particles field for pVel files
===================================================================
M intern/mantaflow/intern/FLUID.cpp
M source/blender/blenkernel/intern/particle_system.c
===================================================================
diff --git a/intern/mantaflow/intern/FLUID.cpp b/intern/mantaflow/intern/FLUID.cpp
index f38ad9168e9..a2ad21c1a17 100644
--- a/intern/mantaflow/intern/FLUID.cpp
+++ b/intern/mantaflow/intern/FLUID.cpp
@@ -1022,7 +1022,10 @@ void FLUID::updateParticleData(const char* filename)
}
}
// Reading particle data file v1 with velocities
- else if (!strcmp(ID, "PD01")) {
+ else if (!strcmp(ID, "PD01"))
+ {
+ mNumParticles = ibuffer[0];
+
mParticleVelocitiesX.resize(mNumParticles);
mParticleVelocitiesY.resize(mNumParticles);
mParticleVelocitiesZ.resize(mNumParticles);
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index b1e21aa67cc..af2e312f48c 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3766,20 +3766,18 @@ static void particles_manta_step(ParticleSimulationData *sim, int UNUSED(cfra),
if (smd && smd->domain && smd->domain->fluid) {
SmokeDomainSettings *sds= smd->domain;
- int curFrame = sim->scene->r.cfra -1; // warning - sync with derived mesh fsmesh loading
ParticleSettings *part = psys->part;
ParticleData *pa=NULL;
int p, totpart;
int flagActivePart, activeParts = 0, fileParts = 0;
+ totpart = liquid_get_num_particles(sds->fluid);
// Sanity check: no particle files present yet
- // TODO (sebbas): need better way to catch cases where pp is not yet present
- if (curFrame == 0)
+ if (!totpart)
return;
- totpart = liquid_get_num_particles(sds->fluid);
totpart = (use_render_params) ? totpart : (part->disp*totpart) / 100;
part->totpart = totpart;
More information about the Bf-blender-cvs
mailing list