code cleanup: bmesh use 'const' for query functions.

This commit is contained in:
Campbell Barton 2013-08-03 16:37:23 +00:00
parent 31761f5e5b
commit 4770848871
8 changed files with 89 additions and 89 deletions

@ -95,7 +95,7 @@ static void calc_poly_normal(float normal[3], float verts[][3], int nverts)
*
* Same as #calc_poly_normal but operates directly on a bmesh face.
*/
static void bm_face_calc_poly_normal(BMFace *f, float n[3])
static void bm_face_calc_poly_normal(const BMFace *f, float n[3])
{
BMLoop *l_first = BM_FACE_FIRST_LOOP(f);
BMLoop *l_iter = l_first;
@ -173,7 +173,7 @@ static void bm_face_calc_poly_center_mean_vertex_cos(BMFace *f, float r_cent[3],
* \param r_loops Store face loop pointers, (f->len)
* \param r_index Store triangle triples, indicies into \a r_loops, ((f->len - 2) * 3)
*/
int BM_face_calc_tessellation(BMFace *f, BMLoop **r_loops, int (*_r_index)[3])
int BM_face_calc_tessellation(const BMFace *f, BMLoop **r_loops, int (*_r_index)[3])
{
int *r_index = (int *)_r_index;
BMLoop *l_first = BM_FACE_FIRST_LOOP(f);
@ -579,7 +579,7 @@ void BM_vert_normal_update_all(BMVert *v)
* is passed in as well.
*/
void BM_face_calc_normal(BMFace *f, float r_no[3])
void BM_face_calc_normal(const BMFace *f, float r_no[3])
{
BMLoop *l;

@ -27,13 +27,13 @@
* \ingroup bmesh
*/
int BM_face_calc_tessellation(BMFace *f, BMLoop **r_loops, int (*r_index)[3])
int BM_face_calc_tessellation(const BMFace *f, BMLoop **r_loops, int (*r_index)[3])
#ifdef __GNUC__
__attribute__((warn_unused_result))
__attribute__((nonnull))
#endif
;
void BM_face_calc_normal(BMFace *f, float r_no[3]);
void BM_face_calc_normal(const BMFace *f, float r_no[3]);
void BM_face_calc_normal_vcos(BMesh *bm, BMFace *f, float r_no[3],
float const (*vertexCos)[3]);
float BM_face_calc_area(BMFace *f);

@ -53,8 +53,8 @@ int bmesh_elem_check(void *element, const char htype);
} (void)0
#endif
int bmesh_radial_length(BMLoop *l);
int bmesh_disk_count(BMVert *v);
int bmesh_radial_length(const BMLoop *l);
int bmesh_disk_count(const BMVert *v);
/**
* Internal BMHeader.api_flag

@ -644,7 +644,7 @@ int BM_vert_face_count(BMVert *v)
* Tests whether or not the vertex is part of a wire edge.
* (ie: has no faces attached to it)
*/
bool BM_vert_is_wire(BMVert *v)
bool BM_vert_is_wire(const BMVert *v)
{
if (v->e) {
BMEdge *e_first, *e_iter;
@ -667,7 +667,7 @@ bool BM_vert_is_wire(BMVert *v)
* Tests whether or not the edge is part of a wire.
* (ie: has no faces attached to it)
*/
bool BM_edge_is_wire(BMEdge *e)
bool BM_edge_is_wire(const BMEdge *e)
{
return (e->l == NULL);
}
@ -679,7 +679,7 @@ bool BM_edge_is_wire(BMEdge *e)
* 3: Is part of a an edge with more than 2 faces.
* 4: Is part of a wire edge.
*/
bool BM_vert_is_manifold(BMVert *v)
bool BM_vert_is_manifold(const BMVert *v)
{
BMEdge *e, *e_old;
BMLoop *l;
@ -744,7 +744,7 @@ bool BM_vert_is_manifold(BMVert *v)
*/
#if 1 /* fast path for checking manifold */
bool BM_edge_is_manifold(BMEdge *e)
bool BM_edge_is_manifold(const BMEdge *e)
{
const BMLoop *l = e->l;
return (l && (l->radial_next != l) && /* not 0 or 1 face users */
@ -767,7 +767,7 @@ int BM_edge_is_manifold(BMEdge *e)
* Tests that the edge is manifold and
* that both its faces point the same way.
*/
bool BM_edge_is_contiguous(BMEdge *e)
bool BM_edge_is_contiguous(const BMEdge *e)
{
const BMLoop *l = e->l;
const BMLoop *l_other;
@ -780,7 +780,7 @@ bool BM_edge_is_contiguous(BMEdge *e)
* Check if the edge is convex or concave
* (depends on face winding)
*/
bool BM_edge_is_convex(BMEdge *e)
bool BM_edge_is_convex(const BMEdge *e)
{
if (BM_edge_is_manifold(e)) {
BMLoop *l1 = e->l;
@ -803,7 +803,7 @@ bool BM_edge_is_convex(BMEdge *e)
*/
#if 1 /* fast path for checking boundary */
bool BM_edge_is_boundary(BMEdge *e)
bool BM_edge_is_boundary(const BMEdge *e)
{
const BMLoop *l = e->l;
return (l && (l->radial_next == l));
@ -821,7 +821,7 @@ int BM_edge_is_boundary(BMEdge *e)
}
#endif
bool BM_vert_is_boundary(BMVert *v)
bool BM_vert_is_boundary(const BMVert *v)
{
if (v->e) {
BMEdge *e_first, *e_iter;
@ -1047,8 +1047,8 @@ BMLoop *BM_face_edge_share_loop(BMFace *f, BMEdge *e)
* \note This is in fact quite a simple check, mainly include this function so the intent is more obvious.
* We know these 2 verts will _always_ make up the loops edge
*/
void BM_edge_ordered_verts_ex(BMEdge *edge, BMVert **r_v1, BMVert **r_v2,
BMLoop *edge_loop)
void BM_edge_ordered_verts_ex(const BMEdge *edge, BMVert **r_v1, BMVert **r_v2,
const BMLoop *edge_loop)
{
BLI_assert(edge_loop->e == edge);
(void)edge; /* quiet warning in release build */
@ -1056,7 +1056,7 @@ void BM_edge_ordered_verts_ex(BMEdge *edge, BMVert **r_v1, BMVert **r_v2,
*r_v2 = edge_loop->next->v;
}
void BM_edge_ordered_verts(BMEdge *edge, BMVert **r_v1, BMVert **r_v2)
void BM_edge_ordered_verts(const BMEdge *edge, BMVert **r_v1, BMVert **r_v2)
{
BM_edge_ordered_verts_ex(edge, r_v1, r_v2, edge->l);
}
@ -1065,7 +1065,7 @@ void BM_edge_ordered_verts(BMEdge *edge, BMVert **r_v1, BMVert **r_v2)
* Check if the loop is convex or concave
* (depends on face normal)
*/
bool BM_loop_is_convex(BMLoop *l)
bool BM_loop_is_convex(const BMLoop *l)
{
float e_dir_prev[3];
float e_dir_next[3];
@ -1182,11 +1182,11 @@ void BM_loop_calc_face_tangent(BMLoop *l, float r_tangent[3])
*
* \return angle in radians
*/
float BM_edge_calc_face_angle(BMEdge *e)
float BM_edge_calc_face_angle(const BMEdge *e)
{
if (BM_edge_is_manifold(e)) {
BMLoop *l1 = e->l;
BMLoop *l2 = e->l->radial_next;
const BMLoop *l1 = e->l;
const BMLoop *l2 = e->l->radial_next;
return angle_normalized_v3v3(l1->f->no, l2->f->no);
}
else {
@ -1202,7 +1202,7 @@ float BM_edge_calc_face_angle(BMEdge *e)
*
* \return angle in radians
*/
float BM_edge_calc_face_angle_signed(BMEdge *e)
float BM_edge_calc_face_angle_signed(const BMEdge *e)
{
if (BM_edge_is_manifold(e)) {
BMLoop *l1 = e->l;
@ -1228,7 +1228,7 @@ float BM_edge_calc_face_angle_signed(BMEdge *e)
* \param r_tangent The loop corner tangent to set
*/
void BM_edge_calc_face_tangent(BMEdge *e, BMLoop *e_loop, float r_tangent[3])
void BM_edge_calc_face_tangent(const BMEdge *e, const BMLoop *e_loop, float r_tangent[3])
{
float tvec[3];
BMVert *v1, *v2;
@ -1685,13 +1685,13 @@ bool BM_face_exists_multi_edge(BMEdge **earr, int len)
}
/* convenience functions for checking flags */
bool BM_edge_is_any_vert_flag_test(BMEdge *e, const char hflag)
bool BM_edge_is_any_vert_flag_test(const BMEdge *e, const char hflag)
{
return (BM_elem_flag_test(e->v1, hflag) ||
BM_elem_flag_test(e->v2, hflag));
}
bool BM_face_is_any_vert_flag_test(BMFace *f, const char hflag)
bool BM_face_is_any_vert_flag_test(const BMFace *f, const char hflag)
{
BMLoop *l_iter;
BMLoop *l_first;
@ -1705,7 +1705,7 @@ bool BM_face_is_any_vert_flag_test(BMFace *f, const char hflag)
return false;
}
bool BM_face_is_any_edge_flag_test(BMFace *f, const char hflag)
bool BM_face_is_any_edge_flag_test(const BMFace *f, const char hflag)
{
BMLoop *l_iter;
BMLoop *l_first;
@ -1722,7 +1722,7 @@ bool BM_face_is_any_edge_flag_test(BMFace *f, const char hflag)
/**
* Use within assert's to check normals are valid.
*/
bool BM_face_is_normal_valid(BMFace *f)
bool BM_face_is_normal_valid(const BMFace *f)
{
const float eps = 0.0001f;
float no[3];
@ -1731,7 +1731,7 @@ bool BM_face_is_normal_valid(BMFace *f)
return len_squared_v3v3(no, f->no) < (eps * eps);
}
static void bm_mesh_calc_volume_face(BMFace *f, float *r_vol)
static void bm_mesh_calc_volume_face(const BMFace *f, float *r_vol)
{
int tottri = f->len - 2;
BMLoop **loops = BLI_array_alloca(loops, f->len);

@ -58,26 +58,26 @@ int BM_edge_face_count(BMEdge *e);
int BM_vert_face_count(BMVert *v);
BMEdge *BM_vert_other_disk_edge(BMVert *v, BMEdge *e);
bool BM_vert_is_wire(BMVert *v);
bool BM_edge_is_wire(BMEdge *e);
bool BM_vert_is_wire(const BMVert *v);
bool BM_edge_is_wire(const BMEdge *e);
bool BM_vert_is_manifold(BMVert *v);
bool BM_edge_is_manifold(BMEdge *e);
bool BM_vert_is_boundary(BMVert *v);
bool BM_edge_is_boundary(BMEdge *e);
bool BM_edge_is_contiguous(BMEdge *e);
bool BM_edge_is_convex(BMEdge *e);
bool BM_vert_is_manifold(const BMVert *v);
bool BM_edge_is_manifold(const BMEdge *e);
bool BM_vert_is_boundary(const BMVert *v);
bool BM_edge_is_boundary(const BMEdge *e);
bool BM_edge_is_contiguous(const BMEdge *e);
bool BM_edge_is_convex(const BMEdge *e);
bool BM_loop_is_convex(BMLoop *l);
bool BM_loop_is_convex(const BMLoop *l);
float BM_loop_calc_face_angle(BMLoop *l);
void BM_loop_calc_face_normal(BMLoop *l, float r_normal[3]);
void BM_loop_calc_face_direction(BMLoop *l, float r_normal[3]);
void BM_loop_calc_face_tangent(BMLoop *l, float r_tangent[3]);
float BM_edge_calc_face_angle(BMEdge *e);
float BM_edge_calc_face_angle_signed(BMEdge *e);
void BM_edge_calc_face_tangent(BMEdge *e, BMLoop *e_loop, float r_tangent[3]);
float BM_edge_calc_face_angle(const BMEdge *e);
float BM_edge_calc_face_angle_signed(const BMEdge *e);
void BM_edge_calc_face_tangent(const BMEdge *e, const BMLoop *e_loop, float r_tangent[3]);
float BM_vert_calc_edge_angle(BMVert *v);
float BM_vert_calc_shell_factor(BMVert *v);
@ -108,15 +108,15 @@ BMVert *BM_edge_share_vert(BMEdge *e1, BMEdge *e2);
BMLoop *BM_face_vert_share_loop(BMFace *f, BMVert *v);
BMLoop *BM_face_edge_share_loop(BMFace *f, BMEdge *e);
void BM_edge_ordered_verts(BMEdge *edge, BMVert **r_v1, BMVert **r_v2);
void BM_edge_ordered_verts_ex(BMEdge *edge, BMVert **r_v1, BMVert **r_v2,
BMLoop *edge_loop);
void BM_edge_ordered_verts(const BMEdge *edge, BMVert **r_v1, BMVert **r_v2);
void BM_edge_ordered_verts_ex(const BMEdge *edge, BMVert **r_v1, BMVert **r_v2,
const BMLoop *edge_loop);
bool BM_edge_is_any_vert_flag_test(BMEdge *e, const char hflag);
bool BM_face_is_any_vert_flag_test(BMFace *f, const char hflag);
bool BM_face_is_any_edge_flag_test(BMFace *f, const char hflag);
bool BM_edge_is_any_vert_flag_test(const BMEdge *e, const char hflag);
bool BM_face_is_any_vert_flag_test(const BMFace *f, const char hflag);
bool BM_face_is_any_edge_flag_test(const BMFace *f, const char hflag);
bool BM_face_is_normal_valid(BMFace *f);
bool BM_face_is_normal_valid(const BMFace *f);
float BM_mesh_calc_volume(BMesh *bm, bool is_signed);

@ -45,7 +45,7 @@ bool bmesh_vert_in_edge(const BMEdge *e, const BMVert *v)
if (e->v1 == v || e->v2 == v) return true;
return false;
}
bool bmesh_verts_in_edge(BMVert *v1, BMVert *v2, BMEdge *e)
bool bmesh_verts_in_edge(const BMVert *v1, const BMVert *v2, const BMEdge *e)
{
if (e->v1 == v1 && e->v2 == v2) return true;
else if (e->v1 == v2 && e->v2 == v1) return true;
@ -216,7 +216,7 @@ void bmesh_disk_edge_remove(BMEdge *e, BMVert *v)
*
* \return Pointer to the next edge in the disk cycle for the vertex v.
*/
BMEdge *bmesh_disk_edge_next(BMEdge *e, BMVert *v)
BMEdge *bmesh_disk_edge_next(const BMEdge *e, const BMVert *v)
{
if (v == e->v1)
return e->v1_disk_link.next;
@ -225,7 +225,7 @@ BMEdge *bmesh_disk_edge_next(BMEdge *e, BMVert *v)
return NULL;
}
BMEdge *bmesh_disk_edge_prev(BMEdge *e, BMVert *v)
BMEdge *bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v)
{
if (v == e->v1)
return e->v1_disk_link.prev;
@ -234,7 +234,7 @@ BMEdge *bmesh_disk_edge_prev(BMEdge *e, BMVert *v)
return NULL;
}
BMEdge *bmesh_disk_edge_exists(BMVert *v1, BMVert *v2)
BMEdge *bmesh_disk_edge_exists(const BMVert *v1, const BMVert *v2)
{
BMEdge *e_iter, *e_first;
@ -251,7 +251,7 @@ BMEdge *bmesh_disk_edge_exists(BMVert *v1, BMVert *v2)
return NULL;
}
int bmesh_disk_count(BMVert *v)
int bmesh_disk_count(const BMVert *v)
{
if (v->e) {
BMEdge *e_first, *e_iter;
@ -304,7 +304,7 @@ bool bmesh_disk_validate(int len, BMEdge *e, BMVert *v)
* equivalent to counting the number of
* faces incident upon this vertex
*/
int bmesh_disk_facevert_count(BMVert *v)
int bmesh_disk_facevert_count(const BMVert *v)
{
/* is there an edge on this vert at all */
if (v->e) {
@ -333,29 +333,28 @@ int bmesh_disk_facevert_count(BMVert *v)
* vert's loops attached
* to it.
*/
BMEdge *bmesh_disk_faceedge_find_first(BMEdge *e, BMVert *v)
BMEdge *bmesh_disk_faceedge_find_first(const BMEdge *e, const BMVert *v)
{
BMEdge *searchedge = NULL;
searchedge = e;
const BMEdge *e_find = e;
do {
if (searchedge->l && bmesh_radial_facevert_count(searchedge->l, v)) {
return searchedge;
if (e_find->l && bmesh_radial_facevert_count(e_find->l, v)) {
return (BMEdge *)e_find;
}
} while ((searchedge = bmesh_disk_edge_next(searchedge, v)) != e);
} while ((e_find = bmesh_disk_edge_next(e_find, v)) != e);
return NULL;
}
BMEdge *bmesh_disk_faceedge_find_next(BMEdge *e, BMVert *v)
BMEdge *bmesh_disk_faceedge_find_next(const BMEdge *e, const BMVert *v)
{
BMEdge *searchedge = NULL;
searchedge = bmesh_disk_edge_next(e, v);
BMEdge *e_find = NULL;
e_find = bmesh_disk_edge_next(e, v);
do {
if (searchedge->l && bmesh_radial_facevert_count(searchedge->l, v)) {
return searchedge;
if (e_find->l && bmesh_radial_facevert_count(e_find->l, v)) {
return e_find;
}
} while ((searchedge = bmesh_disk_edge_next(searchedge, v)) != e);
return e;
} while ((e_find = bmesh_disk_edge_next(e_find, v)) != e);
return (BMEdge *)e;
}
/*****radial cycle functions, e.g. loops surrounding edges**** */
@ -435,19 +434,19 @@ void bmesh_radial_loop_remove(BMLoop *l, BMEdge *e)
* Finds the first loop of v around radial
* cycle
*/
BMLoop *bmesh_radial_faceloop_find_first(BMLoop *l, BMVert *v)
BMLoop *bmesh_radial_faceloop_find_first(const BMLoop *l, const BMVert *v)
{
BMLoop *l_iter;
const BMLoop *l_iter;
l_iter = l;
do {
if (l_iter->v == v) {
return l_iter;
return (BMLoop *)l_iter;
}
} while ((l_iter = l_iter->radial_next) != l);
return NULL;
}
BMLoop *bmesh_radial_faceloop_find_next(BMLoop *l, BMVert *v)
BMLoop *bmesh_radial_faceloop_find_next(const BMLoop *l, const BMVert *v)
{
BMLoop *l_iter;
l_iter = l->radial_next;
@ -456,12 +455,12 @@ BMLoop *bmesh_radial_faceloop_find_next(BMLoop *l, BMVert *v)
return l_iter;
}
} while ((l_iter = l_iter->radial_next) != l);
return l;
return (BMLoop *)l;
}
int bmesh_radial_length(BMLoop *l)
int bmesh_radial_length(const BMLoop *l)
{
BMLoop *l_iter = l;
const BMLoop *l_iter = l;
int i = 0;
if (!l)
@ -514,9 +513,9 @@ void bmesh_radial_append(BMEdge *e, BMLoop *l)
* Returns the number of times a vertex appears
* in a radial cycle
*/
int bmesh_radial_facevert_count(BMLoop *l, BMVert *v)
int bmesh_radial_facevert_count(const BMLoop *l, const BMVert *v)
{
BMLoop *l_iter;
const BMLoop *l_iter;
int count = 0;
l_iter = l;
do {

@ -47,11 +47,11 @@ bool bmesh_loop_validate(BMFace *f);
/* DISK CYCLE MANAGMENT */
void bmesh_disk_edge_append(BMEdge *e, BMVert *v);
void bmesh_disk_edge_remove(BMEdge *e, BMVert *v);
BMEdge *bmesh_disk_edge_next(BMEdge *e, BMVert *v);
BMEdge *bmesh_disk_edge_prev(BMEdge *e, BMVert *v);
int bmesh_disk_facevert_count(BMVert *v);
BMEdge *bmesh_disk_faceedge_find_first(BMEdge *e, BMVert *v);
BMEdge *bmesh_disk_faceedge_find_next(BMEdge *e, BMVert *v);
BMEdge *bmesh_disk_edge_next(const BMEdge *e, const BMVert *v);
BMEdge *bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v);
int bmesh_disk_facevert_count(const BMVert *v);
BMEdge *bmesh_disk_faceedge_find_first(const BMEdge *e, const BMVert *v);
BMEdge *bmesh_disk_faceedge_find_next(const BMEdge *e, const BMVert *v);
/* RADIAL CYCLE MANAGMENT */
void bmesh_radial_append(BMEdge *e, BMLoop *l);
@ -60,18 +60,18 @@ void bmesh_radial_loop_remove(BMLoop *l, BMEdge *e);
* bmesh_radial_loop_next(BMLoop *l) / prev.
* just use member access l->radial_next, l->radial_prev now */
int bmesh_radial_facevert_count(BMLoop *l, BMVert *v);
BMLoop *bmesh_radial_faceloop_find_first(BMLoop *l, BMVert *v);
BMLoop *bmesh_radial_faceloop_find_next(BMLoop *l, BMVert *v);
BMLoop *bmesh_radial_faceloop_find_vert(BMFace *f, BMVert *v);
int bmesh_radial_facevert_count(const BMLoop *l, const BMVert *v);
BMLoop *bmesh_radial_faceloop_find_first(const BMLoop *l, const BMVert *v);
BMLoop *bmesh_radial_faceloop_find_next(const BMLoop *l, const BMVert *v);
BMLoop *bmesh_radial_faceloop_find_vert(const BMFace *f, const BMVert *v);
bool bmesh_radial_validate(int radlen, BMLoop *l);
/* EDGE UTILITIES */
bool bmesh_vert_in_edge(const BMEdge *e, const BMVert *v);
bool bmesh_verts_in_edge(BMVert *v1, BMVert *v2, BMEdge *e);
bool bmesh_verts_in_edge(const BMVert *v1, const BMVert *v2, const BMEdge *e);
bool bmesh_edge_swapverts(BMEdge *e, BMVert *orig, BMVert *newv); /* relink edge */
BMVert *bmesh_edge_other_vert_get(BMEdge *e, BMVert *v);
BMEdge *bmesh_disk_edge_exists(BMVert *v1, BMVert *v2);
BMEdge *bmesh_disk_edge_exists(const BMVert *v1, const BMVert *v2);
bool bmesh_disk_validate(int len, BMEdge *e, BMVert *v);
#endif /* __BMESH_STRUCTURE_H__ */

@ -428,8 +428,9 @@ static int edbm_add_edge_face__smooth_get(BMesh *bm)
* Function used to get a fixed number of edges linked to a vertex that passes a test function.
* This is used so we can request all boundary edges connected to a vertex for eg.
*/
static int edbm_add_edge_face_exec__vert_edge_lookup(BMVert *v, BMEdge *e_used, BMEdge **e_arr, const int e_arr_len,
bool (* func)(BMEdge *))
static int edbm_add_edge_face_exec__vert_edge_lookup(
BMVert *v, BMEdge *e_used, BMEdge **e_arr, const int e_arr_len,
bool (* func)(const BMEdge *))
{
BMIter iter;
BMEdge *e_iter;