svn merge ^/trunk/blender -r43009:43033
[blender-staging.git] / source / blender / modifiers / intern / MOD_util.c
index cc7a5e54fbd3a5491aa7decb82972ed06b1dae34..8c2b86094f190a6944fa61a5f6d63ac0ae4bcc51 100644 (file)
@@ -94,11 +94,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;
 
@@ -174,7 +174,7 @@ void modifier_vgroup_cache(ModifierData *md, float (*vertexCos)[3])
 }
 
 /* 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;
@@ -183,7 +183,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);
        }
 
@@ -194,13 +194,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) {
@@ -277,5 +277,6 @@ void modifier_type_init(ModifierTypeInfo *types[])
        INIT_TYPE(WeightVGProximity);
        INIT_TYPE(DynamicPaint);
        INIT_TYPE(Remesh);
+       INIT_TYPE(NgonInterp);
 #undef INIT_TYPE
 }