44 float (*vertexCos)[3],
50 int deformedVerts_tot;
52 ctx->
object, &deformedVerts_tot, (
float *)vertexCos,
sizeof(*vertexCos) * numVerts);
59 float (*vertexCos)[3],
60 float (*defMats)[3][3],
79 for (
a = 0;
a < numVerts;
a++) {
91 float (*vertexCos)[3],
105 float (*vertexCos)[3],
106 float (*defMats)[3][3],
119 for (
a = 0;
a < numVerts;
a++) {
127 "ShapeKeyModifierData",
float * BKE_key_evaluate_object_ex(struct Object *ob, int *r_totelem, float *arr, size_t arr_size)
struct Key * BKE_key_from_object(const struct Object *ob)
struct KeyBlock * BKE_keyblock_from_object(struct Object *ob)
@ eModifierTypeFlag_AcceptsCVs
@ eModifierTypeFlag_SupportsEditmode
@ eModifierTypeFlag_AcceptsVertexCosOnly
@ eModifierTypeType_OnlyDeform
void copy_m3_m3(float m1[3][3], const float m2[3][3])
void scale_m3_fl(float R[3][3], float scale)
struct ShapeKeyModifierData ShapeKeyModifierData
Object is a sort of wrapper for general info.
ModifierTypeInfo modifierType_ShapeKey
static void deformMatrices(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, float(*vertexCos)[3], float(*defMats)[3][3], int numVerts)
static void deformVerts(ModifierData *UNUSED(md), const ModifierEvalContext *ctx, Mesh *UNUSED(mesh), float(*vertexCos)[3], int numVerts)
static void deformVertsEM(ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *UNUSED(editData), Mesh *mesh, float(*vertexCos)[3], int numVerts)
static void deformMatricesEM(ModifierData *UNUSED(md), const ModifierEvalContext *ctx, struct BMEditMesh *UNUSED(editData), Mesh *UNUSED(mesh), float(*vertexCos)[3], float(*defMats)[3][3], int numVerts)