svn merge ^/trunk/blender -r40872:40890
[blender.git] / source / blender / modifiers / intern / MOD_util.c
index 26e9d48cd0a58bac6bf686b2f24b235ecc6b8e3f..13abaa7058fcb2cc15070a6b36daecbef6d84583 100644 (file)
@@ -99,11 +99,11 @@ void get_texture_coords(MappingInfoModifierData *dmd, Object *ob,
        /* UVs need special handling, since they come from faces */
        if(texmapping == MOD_DISP_MAP_UV) {
                if(CustomData_has_layer(&dm->faceData, CD_MTFACE)) {
-                       MFace *mface = dm->getFaceArray(dm);
+                       MFace *mface = dm->getTessFaceArray(dm);
                        MFace *mf;
                        char *done = MEM_callocN(sizeof(*done) * numVerts,
                                                 "get_texture_coords done");
-                       int numFaces = dm->getNumFaces(dm);
+                       int numFaces = dm->getNumTessFaces(dm);
                        char uvname[32];
                        MTFace *tf;
 
@@ -198,7 +198,7 @@ void validate_layer_name(const CustomData *data, int type, char *name, char *out
 }
 
 /* returns a cdderivedmesh if dm == NULL or is another type of derivedmesh */
-DerivedMesh *get_cddm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3])
+DerivedMesh *get_cddm(Object *ob, struct BMEditMesh *em, DerivedMesh *dm, float (*vertexCos)[3])
 {
        if(dm && dm->type == DM_TYPE_CDDM)
                return dm;
@@ -207,7 +207,7 @@ DerivedMesh *get_cddm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*
                dm= get_dm(ob, em, dm, vertexCos, 0);
        }
        else {
-               dm= CDDM_copy(dm);
+               dm= CDDM_copy(dm, 0);
                CDDM_apply_vert_coords(dm, vertexCos);
        }
 
@@ -218,13 +218,13 @@ DerivedMesh *get_cddm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*
 }
 
 /* returns a derived mesh if dm == NULL, for deforming modifiers that need it */
-DerivedMesh *get_dm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*vertexCos)[3], int orco)
+DerivedMesh *get_dm(Object *ob, struct BMEditMesh *em, DerivedMesh *dm, float (*vertexCos)[3], int orco)
 {
        if(dm)
                return dm;
 
        if(ob->type==OB_MESH) {
-               if(em) dm= CDDM_from_editmesh(em, ob->data);
+               if(em) dm= CDDM_from_BMEditMesh(em, ob->data, 0);
                else dm = CDDM_from_mesh((struct Mesh *)(ob->data), ob);
 
                if(vertexCos) {
@@ -298,5 +298,6 @@ void modifier_type_init(ModifierTypeInfo *types[])
        INIT_TYPE(WeightVGEdit);
        INIT_TYPE(WeightVGMix);
        INIT_TYPE(WeightVGProximity);
+       INIT_TYPE(NgonInterp);
 #undef INIT_TYPE
 }