Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_facemap_ops.c
| Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | |||||
| #include "WM_api.h" | #include "WM_api.h" | ||||
| #include "WM_types.h" | #include "WM_types.h" | ||||
| #include "ED_mesh.h" | #include "ED_mesh.h" | ||||
| #include "ED_object.h" | #include "ED_object.h" | ||||
| #include "object_intern.h" | #include "object_intern.h" | ||||
| /* called while not in editmode */ | |||||
| void ED_object_facemap_face_add(Object *ob, bFaceMap *fmap, int facenum) | void ED_object_facemap_face_add(Object *ob, bFaceMap *fmap, int facenum) | ||||
| { | { | ||||
| int fmap_nr; | int fmap_nr; | ||||
| if (GS(((ID *)ob->data)->name) != ID_ME) { | if (GS(((ID *)ob->data)->name) != ID_ME) { | ||||
| return; | return; | ||||
| } | } | ||||
| /* get the face map number, exit if it can't be found */ | /* get the face map number, exit if it can't be found */ | ||||
| fmap_nr = BLI_findindex(&ob->fmaps, fmap); | fmap_nr = BLI_findindex(&ob->fmaps, fmap); | ||||
| if (fmap_nr != -1) { | if (fmap_nr != -1) { | ||||
| int *facemap; | int *facemap; | ||||
| Mesh *me = ob->data; | Mesh *me = ob->data; | ||||
| /* if there's is no facemap layer then create one */ | /* if there's is no facemap layer then create one */ | ||||
| if ((facemap = CustomData_get_layer(&me->pdata, CD_FACEMAP)) == NULL) { | if ((facemap = CustomData_get_layer(&me->pdata, CD_FACEMAP)) == NULL) { | ||||
| facemap = CustomData_add_layer(&me->pdata, CD_FACEMAP, CD_DEFAULT, NULL, me->totpoly); | facemap = CustomData_add_layer(&me->pdata, CD_FACEMAP, CD_DEFAULT, NULL, me->totpoly); | ||||
| } | } | ||||
| facemap[facenum] = fmap_nr; | facemap[facenum] = fmap_nr; | ||||
| } | } | ||||
| } | } | ||||
| /* called while not in editmode */ | |||||
| void ED_object_facemap_face_remove(Object *ob, bFaceMap *fmap, int facenum) | void ED_object_facemap_face_remove(Object *ob, bFaceMap *fmap, int facenum) | ||||
| { | { | ||||
| int fmap_nr; | int fmap_nr; | ||||
| if (GS(((ID *)ob->data)->name) != ID_ME) { | if (GS(((ID *)ob->data)->name) != ID_ME) { | ||||
| return; | return; | ||||
| } | } | ||||
| /* get the face map number, exit if it can't be found */ | /* get the face map number, exit if it can't be found */ | ||||
| ▲ Show 20 Lines • Show All 422 Lines • Show Last 20 Lines | |||||