Make lattice deform safe for threading
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 15 Jul 2013 18:46:15 +0000 (18:46 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 15 Jul 2013 18:46:15 +0000 (18:46 +0000)
commit70de1690b867b292193c7d123410fea960f9205a
treed17ee3143a7020aac46a96054c50a0c97a35b6fa
parent3ede7482af0f77706bb79c471021c00488e5cf10
Make lattice deform safe for threading

Lattice deformation used to store some runtime data
inside of lattice datablock itself. It's something
which is REALLY bad. Ideally DNA shouldn't contain
and runtime data.

For now solved it in a way that initialization of
lattice deform will create a structure which contains
lattice object for which deformation is calculating
and that runtime data which used to be stored in
lattice datablock itself.

It works really fine for mesh deform modifier, but
there's still runtime data stored in particle system
DNA, It didn't look something easy to be solved, so
leaving this as-is for now.
13 files changed:
source/blender/blenkernel/BKE_lattice.h
source/blender/blenkernel/BKE_particle.h
source/blender/blenkernel/intern/anim.c
source/blender/blenkernel/intern/lattice.c
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/particle_system.c
source/blender/editors/space_view3d/drawobject.c
source/blender/makesdna/DNA_lattice_types.h
source/blender/makesdna/DNA_particle_types.h
source/blender/modifiers/intern/MOD_explode.c
source/blender/modifiers/intern/MOD_particleinstance.c
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/pointdensity.c