WIP commit, (just in case my HD breaks down). Don't expect anything to work. Code...
[blender.git] / source / blender / blenkernel / BKE_modifier.h
index ce3f33bd35c589e8c7d5b155b64d382f4106ae94..644c3dd32f40db36ceb8c8e4eb56a822007ea8ad 100644 (file)
@@ -125,6 +125,11 @@ typedef struct ModifierTypeInfo {
                    struct EditMesh *editData, struct DerivedMesh *derivedData,
                    float (*vertexCos)[3], int numVerts);
 
+       /* Set deform matrix per vertex for crazyspace correction */
+       void (*deformMatricesEM)(
+                   struct ModifierData *md, struct Object *ob,
+                   struct EditMesh *editData, struct DerivedMesh *derivedData,
+                   float (*vertexCos)[3], float (*defMats)[3][3], int numVerts);
 
        /********************* Non-deform modifier functions *********************/
 
@@ -257,6 +262,7 @@ void          modifier_copyData(struct ModifierData *md, struct ModifierData *ta
 int           modifier_dependsOnTime(struct ModifierData *md);
 int           modifier_supportsMapping(struct ModifierData *md);
 int           modifier_couldBeCage(struct ModifierData *md);
+int           modifier_isDeformer(struct ModifierData *md);
 void          modifier_setError(struct ModifierData *md, char *format, ...);
 
 void          modifiers_foreachObjectLink(struct Object *ob,
@@ -271,6 +277,7 @@ int           modifiers_getCageIndex(struct Object *ob,
                                      int *lastPossibleCageIndex_r);
 
 int           modifiers_isSoftbodyEnabled(struct Object *ob);
+struct ClothModifierData *modifiers_isClothEnabled(Object *ob);
 struct Object *modifiers_isDeformedByArmature(struct Object *ob);
 struct Object *modifiers_isDeformedByLattice(struct Object *ob);
 int           modifiers_usesArmature(struct Object *ob, struct bArmature *arm);