Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/object/object_facemap_ops.c')
-rw-r--r--source/blender/editors/object/object_facemap_ops.c90
1 files changed, 45 insertions, 45 deletions
diff --git a/source/blender/editors/object/object_facemap_ops.c b/source/blender/editors/object/object_facemap_ops.c
index a076521b41d..c5882560083 100644
--- a/source/blender/editors/object/object_facemap_ops.c
+++ b/source/blender/editors/object/object_facemap_ops.c
@@ -4,7 +4,7 @@
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,7 +18,7 @@
* The Original Code is Copyright (C) 2008 Blender Foundation.
* All rights reserved.
*
- *
+ *
* Contributor(s): Blender Foundation
*
* ***** END GPL LICENSE BLOCK *****
@@ -63,14 +63,14 @@ void ED_object_facemap_face_add(Object *ob, bFaceMap *fmap, int facenum)
int fmap_nr;
if (GS(((ID *)ob->data)->name) != ID_ME)
return;
-
+
/* get the face map number, exit if it can't be found */
fmap_nr = BLI_findindex(&ob->fmaps, fmap);
if (fmap_nr != -1) {
int *facemap;
Mesh *me = ob->data;
-
+
/* if there's is no facemap layer then create one */
if ((facemap = CustomData_get_layer(&me->pdata, CD_FACEMAP)) == NULL)
facemap = CustomData_add_layer(&me->pdata, CD_FACEMAP, CD_DEFAULT, NULL, me->totpoly);
@@ -85,18 +85,18 @@ void ED_object_facemap_face_remove(Object *ob, bFaceMap *fmap, int facenum)
int fmap_nr;
if (GS(((ID *)ob->data)->name) != ID_ME)
return;
-
+
/* get the face map number, exit if it can't be found */
fmap_nr = BLI_findindex(&ob->fmaps, fmap);
if (fmap_nr != -1) {
int *facemap;
Mesh *me = ob->data;
-
+
/* if there's is no facemap layer then create one */
if ((facemap = CustomData_get_layer(&me->pdata, CD_FACEMAP)) == NULL)
return;
-
+
facemap[facenum] = -1;
}
}
@@ -105,19 +105,19 @@ static void object_fmap_swap_edit_mode(Object *ob, int num1, int num2)
{
if (ob->type == OB_MESH) {
Mesh *me = ob->data;
-
+
if (me->edit_btmesh) {
BMEditMesh *em = me->edit_btmesh;
const int cd_fmap_offset = CustomData_get_offset(&em->bm->pdata, CD_FACEMAP);
-
+
if (cd_fmap_offset != -1) {
BMFace *efa;
BMIter iter;
int *map;
-
+
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
map = BM_ELEM_CD_GET_VOID_P(efa, cd_fmap_offset);
-
+
if (map) {
if (num1 != -1) {
if (*map == num1)
@@ -136,11 +136,11 @@ static void object_fmap_swap_object_mode(Object *ob, int num1, int num2)
{
if (ob->type == OB_MESH) {
Mesh *me = ob->data;
-
+
if (CustomData_has_layer(&me->pdata, CD_FACEMAP)) {
int *map = CustomData_get_layer(&me->pdata, CD_FACEMAP);
int i;
-
+
if (map) {
for (i = 0; i < me->totpoly; i++) {
if (num1 != -1) {
@@ -190,7 +190,7 @@ static int face_map_add_exec(bContext *C, wmOperator *UNUSED(op))
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
-
+
return OPERATOR_FINISHED;
}
@@ -200,7 +200,7 @@ void OBJECT_OT_face_map_add(struct wmOperatorType *ot)
ot->name = "Add Face Map";
ot->idname = "OBJECT_OT_face_map_add";
ot->description = "Add a new face map to the active object";
-
+
/* api callbacks */
ot->poll = face_map_supported_poll;
ot->exec = face_map_add_exec;
@@ -213,7 +213,7 @@ static int face_map_remove_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_context(C);
bFaceMap *fmap = BLI_findlink(&ob->fmaps, ob->actfmap - 1);
-
+
if (fmap) {
BKE_object_facemap_remove(ob, fmap);
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
@@ -229,7 +229,7 @@ void OBJECT_OT_face_map_remove(struct wmOperatorType *ot)
ot->name = "Remove Face Map";
ot->idname = "OBJECT_OT_face_map_remove";
ot->description = "Remove a face map from the active object";
-
+
/* api callbacks */
ot->poll = face_map_supported_poll;
ot->exec = face_map_remove_exec;
@@ -242,7 +242,7 @@ static int face_map_assign_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_context(C);
bFaceMap *fmap = BLI_findlink(&ob->fmaps, ob->actfmap - 1);
-
+
if (fmap) {
Mesh *me = ob->data;
BMEditMesh *em = me->edit_btmesh;
@@ -250,20 +250,20 @@ static int face_map_assign_exec(bContext *C, wmOperator *UNUSED(op))
BMIter iter;
int *map;
int cd_fmap_offset;
-
+
if (!CustomData_has_layer(&em->bm->pdata, CD_FACEMAP))
BM_data_layer_add(em->bm, &em->bm->pdata, CD_FACEMAP);
-
+
cd_fmap_offset = CustomData_get_offset(&em->bm->pdata, CD_FACEMAP);
-
+
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
map = BM_ELEM_CD_GET_VOID_P(efa, cd_fmap_offset);
-
+
if (BM_elem_flag_test(efa, BM_ELEM_SELECT)) {
*map = ob->actfmap - 1;
}
}
-
+
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
@@ -277,7 +277,7 @@ void OBJECT_OT_face_map_assign(struct wmOperatorType *ot)
ot->name = "Assign Face Map";
ot->idname = "OBJECT_OT_face_map_assign";
ot->description = "Assign faces to a face map";
-
+
/* api callbacks */
ot->poll = face_map_supported_edit_mode_poll;
ot->exec = face_map_assign_exec;
@@ -290,7 +290,7 @@ static int face_map_remove_from_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_context(C);
bFaceMap *fmap = BLI_findlink(&ob->fmaps, ob->actfmap - 1);
-
+
if (fmap) {
Mesh *me = ob->data;
BMEditMesh *em = me->edit_btmesh;
@@ -299,20 +299,20 @@ static int face_map_remove_from_exec(bContext *C, wmOperator *UNUSED(op))
int *map;
int cd_fmap_offset;
int mapindex = ob->actfmap - 1;
-
+
if (!CustomData_has_layer(&em->bm->pdata, CD_FACEMAP))
return OPERATOR_CANCELLED;
-
+
cd_fmap_offset = CustomData_get_offset(&em->bm->pdata, CD_FACEMAP);
-
+
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
map = BM_ELEM_CD_GET_VOID_P(efa, cd_fmap_offset);
-
+
if (BM_elem_flag_test(efa, BM_ELEM_SELECT) && *map == mapindex) {
*map = -1;
}
}
-
+
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
@@ -326,7 +326,7 @@ void OBJECT_OT_face_map_remove_from(struct wmOperatorType *ot)
ot->name = "Remove From Face Map";
ot->idname = "OBJECT_OT_face_map_remove_from";
ot->description = "Remove faces from a face map";
-
+
/* api callbacks */
ot->poll = face_map_supported_edit_mode_poll;
ot->exec = face_map_remove_from_exec;
@@ -344,15 +344,15 @@ static void fmap_select(Object *ob, bool select)
int *map;
int cd_fmap_offset;
int mapindex = ob->actfmap - 1;
-
+
if (!CustomData_has_layer(&em->bm->pdata, CD_FACEMAP))
BM_data_layer_add(em->bm, &em->bm->pdata, CD_FACEMAP);
-
+
cd_fmap_offset = CustomData_get_offset(&em->bm->pdata, CD_FACEMAP);
-
+
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
map = BM_ELEM_CD_GET_VOID_P(efa, cd_fmap_offset);
-
+
if (*map == mapindex) {
BM_face_select_set(em->bm, efa, select);
}
@@ -363,10 +363,10 @@ static int face_map_select_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_context(C);
bFaceMap *fmap = BLI_findlink(&ob->fmaps, ob->actfmap - 1);
-
+
if (fmap) {
fmap_select(ob, true);
-
+
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, ob);
@@ -380,7 +380,7 @@ void OBJECT_OT_face_map_select(struct wmOperatorType *ot)
ot->name = "Select Face Map Faces";
ot->idname = "OBJECT_OT_face_map_select";
ot->description = "Select faces belonging to a face map";
-
+
/* api callbacks */
ot->poll = face_map_supported_edit_mode_poll;
ot->exec = face_map_select_exec;
@@ -393,7 +393,7 @@ static int face_map_deselect_exec(bContext *C, wmOperator *UNUSED(op))
{
Object *ob = ED_object_context(C);
bFaceMap *fmap = BLI_findlink(&ob->fmaps, ob->actfmap - 1);
-
+
if (fmap) {
fmap_select(ob, false);
@@ -410,7 +410,7 @@ void OBJECT_OT_face_map_deselect(struct wmOperatorType *ot)
ot->name = "Deselect Face Map Faces";
ot->idname = "OBJECT_OT_face_map_deselect";
ot->description = "Deselect faces belonging to a face map";
-
+
/* api callbacks */
ot->poll = face_map_supported_edit_mode_poll;
ot->exec = face_map_deselect_exec;
@@ -434,7 +434,7 @@ static int face_map_move_exec(bContext *C, wmOperator *op)
count = BLI_listbase_count(&ob->fmaps);
pos1 = BLI_findindex(&ob->fmaps, fmap);
-
+
if (dir == 1) { /*up*/
void *prev = fmap->prev;
@@ -444,7 +444,7 @@ static int face_map_move_exec(bContext *C, wmOperator *op)
else {
pos2 = count - 1;
}
-
+
BLI_remlink(&ob->fmaps, fmap);
BLI_insertlinkbefore(&ob->fmaps, prev, fmap);
}
@@ -457,16 +457,16 @@ static int face_map_move_exec(bContext *C, wmOperator *op)
else {
pos2 = 0;
}
-
+
BLI_remlink(&ob->fmaps, fmap);
BLI_insertlinkafter(&ob->fmaps, next, fmap);
}
/* iterate through mesh and substitute the indices as necessary */
object_facemap_swap(ob, pos2, pos1);
-
+
ob->actfmap = pos2 + 1;
-
+
DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM | ND_VERTEX_GROUP, ob);