Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-01-12 16:20:49 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-01-12 16:20:49 +0300
commitf1a542b6b80b8a7dcce0484dd4146d2ede72831d (patch)
treec42fe0eae63c746ddb9b5260993c6fc072262777 /source/blender/editors/physics
parent6329f7b063057b3617810677e2175d5b8af30bc1 (diff)
particle edit
the emitter field wasnt recalculated on entering on editmode. this meant you could use the puff brush in particle edit, move mesh verts, go back into particle edit... And the mesh data from the previous mesh would still be used.
Diffstat (limited to 'source/blender/editors/physics')
-rw-r--r--source/blender/editors/physics/particle_edit.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index c510a28b7ad..c1846c6a493 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -88,6 +88,7 @@
static void PE_create_particle_edit(Scene *scene, Object *ob, PointCache *cache, ParticleSystem *psys);
static void PTCacheUndo_clear(PTCacheEdit *edit);
+static void recalc_emitter_field(Object *ob, ParticleSystem *psys);
#define KEY_K PTCacheEditKey *key; int k
#define POINT_P PTCacheEditPoint *point; int p
@@ -265,8 +266,13 @@ static PTCacheEdit *pe_get_current(Scene *scene, Object *ob, int create)
}
}
- if(edit)
+ if(edit) {
edit->pid = *pid;
+
+ /* mesh may have changed since last entering editmode.
+ * note, this may have run before if the edit data was just created, so could avoid this and speed up a little */
+ recalc_emitter_field(ob, edit->psys);
+ }
BLI_freelistN(&pidlist);