/* dotile - 1, set the tile flag (from the space image)
* 2, set the tile index for the faces. */
-static int uvedit_set_tile(Object *obedit, Image *ima, int curtile)
+static bool uvedit_set_tile(Object *obedit, Image *ima, int curtile)
{
BMEditMesh *em;
BMFace *efa;
/* verify if we have something to do */
if (!ima || !ED_uvedit_test(obedit))
- return 0;
+ return false;
if ((ima->tpageflag & IMA_TILES) == 0)
- return 0;
+ return false;
/* skip assigning these procedural images... */
if (ima->type == IMA_TYPE_R_RESULT || ima->type == IMA_TYPE_COMPOSITE)
- return 0;
+ return false;
em = BKE_editmesh_from_object(obedit);
DAG_id_tag_update(obedit->data, 0);
- return 1;
+ return true;
}
/*********************** space conversion *********************/
}
}
-int ED_uvedit_minmax(Scene *scene, Image *ima, Object *obedit, float r_min[2], float r_max[2])
+bool ED_uvedit_minmax(Scene *scene, Image *ima, Object *obedit, float r_min[2], float r_max[2])
{
BMEditMesh *em = BKE_editmesh_from_object(obedit);
BMFace *efa;
BMIter iter, liter;
MTexPoly *tf;
MLoopUV *luv;
- int sel;
+ bool change = false;
const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
const int cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
INIT_MINMAX2(r_min, r_max);
- sel = 0;
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
tf = BM_ELEM_CD_GET_VOID_P(efa, cd_poly_tex_offset);
if (!uvedit_face_visible_test(scene, ima, efa, tf))
if (uvedit_uv_select_test(scene, l, cd_loop_uv_offset)) {
luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
minmax_v2v2_v2(r_min, r_max, luv->uv);
- sel = 1;
+ change = true;
}
}
}
- return sel;
+ return change;
}
-static int ED_uvedit_median(Scene *scene, Image *ima, Object *obedit, float co[2])
+static bool ED_uvedit_median(Scene *scene, Image *ima, Object *obedit, float co[2])
{
BMEditMesh *em = BKE_editmesh_from_object(obedit);
BMFace *efa;
return (sel != 0);
}
-static int uvedit_center(Scene *scene, Image *ima, Object *obedit, float cent[2], char mode)
+static bool uvedit_center(Scene *scene, Image *ima, Object *obedit, float cent[2], char mode)
{
- int change = FALSE;
+ bool change = false;
if (mode == V3D_CENTER) { /* bounding box */
float min[2], max[2];
if (ED_uvedit_minmax(scene, ima, obedit, min, max)) {
mid_v2_v2v2(cent, min, max);
- change = TRUE;
+ change = true;
}
}
else {
if (ED_uvedit_median(scene, ima, obedit, cent)) {
- change = TRUE;
+ change = true;
}
}
return NULL;
}
-static int uv_select_edgeloop_edge_tag_faces(BMEditMesh *em, UvMapVert *first1, UvMapVert *first2, int *totface)
+static bool uv_select_edgeloop_edge_tag_faces(BMEditMesh *em, UvMapVert *first1, UvMapVert *first2, int *totface)
{
UvMapVert *iterv1, *iterv2;
BMFace *efa;
/* if face already tagged, don't do this edge */
efa = EDBM_face_at_index(em, iterv1->f);
if (BM_elem_flag_test(efa, BM_ELEM_TAG))
- return 0;
+ return false;
tot++;
break;
if (*totface == 0) /* start edge */
*totface = tot;
else if (tot != *totface) /* check for same number of faces as start edge */
- return 0;
+ return false;
/* tag the faces */
for (iterv1 = first1; iterv1; iterv1 = iterv1->next) {
}
}
- return 1;
+ return true;
}
static int uv_select_edgeloop(Scene *scene, Image *ima, BMEditMesh *em, NearestHit *hit,
BMIter iter, liter;
MTexPoly *tf;
MLoopUV *luv;
- short change = FALSE;
+ bool change = false;
const int cd_loop_uv_offset = CustomData_get_offset(&bm->ldata, CD_MLOOPUV);
const int cd_poly_tex_offset = CustomData_get_offset(&bm->pdata, CD_MTEXPOLY);
luv->flag &= ~MLOOPUV_VERTSEL;
}
- change = TRUE;
+ change = true;
}
}
uv_snap_to_pixel(sima->cursor, width, height);
}
-static int uv_snap_cursor_to_selection(Scene *scene, Image *ima, Object *obedit, SpaceImage *sima)
+static bool uv_snap_cursor_to_selection(Scene *scene, Image *ima, Object *obedit, SpaceImage *sima)
{
return uvedit_center(scene, ima, obedit, sima->cursor, sima->around);
}
Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Image *ima = CTX_data_edit_image(C);
- int change = 0;
+ bool change = false;
switch (RNA_enum_get(op->ptr, "target")) {
case 0:
uv_snap_cursor_to_pixels(sima);
- change = 1;
+ change = true;
break;
case 1:
change = uv_snap_cursor_to_selection(scene, ima, obedit, sima);
/* ******************** snap selection operator **************** */
-static int uv_snap_uvs_to_cursor(Scene *scene, Image *ima, Object *obedit, SpaceImage *sima)
+static bool uv_snap_uvs_to_cursor(Scene *scene, Image *ima, Object *obedit, SpaceImage *sima)
{
BMEditMesh *em = BKE_editmesh_from_object(obedit);
BMFace *efa;
BMIter iter, liter;
MTexPoly *tface;
MLoopUV *luv;
- short change = 0;
+ bool change = false;
const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
const int cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
if (uvedit_uv_select_test(scene, l, cd_loop_uv_offset)) {
luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
copy_v2_v2(luv->uv, sima->cursor);
- change = 1;
+ change = true;
}
}
}
BMIter iter, liter, lsubiter;
MTexPoly *tface;
MLoopUV *luv;
- short change = FALSE;
+ bool change = false;
const int cd_loop_uv_offset = CustomData_get_offset(&bm->ldata, CD_MLOOPUV);
const int cd_poly_tex_offset = CustomData_get_offset(&bm->pdata, CD_MTEXPOLY);
if (uv_tot) {
luv = BM_ELEM_CD_GET_VOID_P(l, cd_loop_uv_offset);
mul_v2_v2fl(luv->uv, uv, 1.0f / (float)uv_tot);
- change = TRUE;
+ change = true;
}
}
}
return change;
}
-static int uv_snap_uvs_to_pixels(SpaceImage *sima, Scene *scene, Object *obedit)
+static bool uv_snap_uvs_to_pixels(SpaceImage *sima, Scene *scene, Object *obedit)
{
BMEditMesh *em = BKE_editmesh_from_object(obedit);
Image *ima = sima->image;
MLoopUV *luv;
int width = 0, height = 0;
float w, h;
- short change = 0;
+ bool change = false;
const int cd_loop_uv_offset = CustomData_get_offset(&em->bm->ldata, CD_MLOOPUV);
const int cd_poly_tex_offset = CustomData_get_offset(&em->bm->pdata, CD_MTEXPOLY);
}
}
- change = 1;
+ change = true;
}
return change;
Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Image *ima = CTX_data_edit_image(C);
- int change = 0;
+ bool change = false;
switch (RNA_enum_get(op->ptr, "target")) {
case 0:
#define UV_SEL_TEST(luv, bool_test) ((((luv)->flag & MLOOPUV_VERTSEL) == MLOOPUV_VERTSEL) == bool_test)
/* is every UV vert selected or unselected depending on bool_test */
-static int bm_face_is_all_uv_sel(BMFace *f, bool select_test,
- const int cd_loop_uv_offset)
+static bool bm_face_is_all_uv_sel(BMFace *f, bool select_test,
+ const int cd_loop_uv_offset)
{
BMLoop *l_iter;
BMLoop *l_first;
l_iter = l_first = BM_FACE_FIRST_LOOP(f);
do {
-
MLoopUV *luv = BM_ELEM_CD_GET_VOID_P(l_iter, cd_loop_uv_offset);
if (!UV_SEL_TEST(luv, select_test)) {
- return FALSE;
+ return false;
}
} while ((l_iter = l_iter->next) != l_first);
- return TRUE;
+ return true;
}
static int uv_hide_exec(bContext *C, wmOperator *op)