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:
authorBastien Montagne <montagne29@wanadoo.fr>2018-11-26 13:46:20 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-11-26 23:07:50 +0300
commitede994c3140b92076a3f398b6889e02231461150 (patch)
tree77e4f2c870576f09e3d9d76dbe06615288d7c509 /source/blender/blenkernel/BKE_lattice.h
parent8cd5edf8508a00df9791f7b0795b23c74e00c449 (diff)
MOD_curve: do not compute mesh when not needed.
This modifier only uses mesh to get vgroup, which is only needed in case modified object is indeed a mesh! Building a mesh from curve here is not only useless and time-consuming, it will also easily fail the assert about same number of vertices! Also, use MOD_get_vgroup() helper in modifier code itself and pass reluting MDeformVert & index to BKE_curve's curve_deform_verts(), this is simpler and avoids duplicating vgroup handling code. Also fixes crash when used on lattice. Related to T57972.
Diffstat (limited to 'source/blender/blenkernel/BKE_lattice.h')
-rw-r--r--source/blender/blenkernel/BKE_lattice.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_lattice.h b/source/blender/blenkernel/BKE_lattice.h
index 2e093ba11a2..b2911129525 100644
--- a/source/blender/blenkernel/BKE_lattice.h
+++ b/source/blender/blenkernel/BKE_lattice.h
@@ -63,9 +63,8 @@ bool object_deform_mball(struct Object *ob, struct ListBase *dispbase);
void outside_lattice(struct Lattice *lt);
void curve_deform_verts(
- struct Object *cuOb, struct Object *target,
- struct Mesh *mesh, float (*vertexCos)[3],
- int numVerts, const char *vgroup, short defaxis);
+ struct Object *cuOb, struct Object *target, float (*vertexCos)[3],
+ int numVerts, struct MDeformVert *dvert, const int defgrp_index, short defaxis);
void curve_deform_vector(
struct Object *cuOb, struct Object *target,
float orco[3], float vec[3], float mat[3][3], int no_rot_axis);