19#include "RNA_prototypes.hh"
33 int deformedVerts_tot;
36 reinterpret_cast<float *
>(positions.data()),
51 if (kb && kb->
totelem == positions.size() && kb != key->
refkey) {
62 for (a = 0; a < positions.size(); a++) {
97 for (
int a = 0; a < matrices.
size(); a++) {
106 "ShapeKeyModifierData",
KeyBlock * BKE_keyblock_from_object(Object *ob)
float * BKE_key_evaluate_object_ex(Object *ob, int *r_totelem, float *arr, size_t arr_size, ID *obdata)
Key * BKE_key_from_object(Object *ob)
@ eModifierTypeFlag_AcceptsCVs
@ eModifierTypeFlag_SupportsEditmode
@ eModifierTypeFlag_AcceptsVertexCosOnly
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.
static void deform_matrices(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, blender::MutableSpan< blender::float3 > positions, blender::MutableSpan< blender::float3x3 > matrices)
static void deform_matrices_EM(ModifierData *, const ModifierEvalContext *ctx, const BMEditMesh *, Mesh *, blender::MutableSpan< blender::float3 >, blender::MutableSpan< blender::float3x3 > matrices)
ModifierTypeInfo modifierType_ShapeKey
static void deform_verts(ModifierData *, const ModifierEvalContext *ctx, Mesh *, blender::MutableSpan< blender::float3 > positions)
static void deform_verts_EM(ModifierData *md, const ModifierEvalContext *ctx, const BMEditMesh *, Mesh *mesh, blender::MutableSpan< blender::float3 > positions)
constexpr int64_t size() const