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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-01-04 16:28:47 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-01-04 16:30:34 +0300
commit2c21e3e35f304afdc1a320fb8ccef91e0119dfc8 (patch)
treeb30f0ac06de3b2d9d9362191defd6920cb9f70b9 /source/blender/blenkernel/intern/particle.c
parent1753177ad8acfabbcc74c3d8e20fa874f2b97167 (diff)
Fix T60132: Convert hair particles to mesh
Needed to port operator to use evaluated particle system. But also changed interface to always show Convert button when draw type is set to Path (Hair particle system is forced to be draws as path). This avoid rather expensive lookup on every redraw, but will show Convert button for un-baked particle emitter. Probably, an acceptable compromise.
Diffstat (limited to 'source/blender/blenkernel/intern/particle.c')
-rw-r--r--source/blender/blenkernel/intern/particle.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index 7f3bae9d178..3b61c47cb43 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -282,6 +282,24 @@ ParticleSystem *psys_orig_get(ParticleSystem *psys)
return psys->orig_psys;
}
+struct ParticleSystem *psys_eval_get(Depsgraph *depsgraph,
+ Object *object,
+ ParticleSystem *psys)
+{
+ Object *object_eval = DEG_get_evaluated_object(depsgraph, object);
+ if (object_eval == object) {
+ return psys;
+ }
+ ParticleSystem *psys_eval = object_eval->particlesystem.first;
+ while (psys_eval != NULL) {
+ if (psys_eval->orig_psys == psys) {
+ return psys_eval;
+ }
+ psys_eval = psys_eval->next;
+ }
+ return psys_eval;
+}
+
static PTCacheEdit *psys_orig_edit_get(ParticleSystem *psys)
{
if (psys->orig_psys == NULL) {