[Bf-blender-cvs] [eef365a126b] blender2.8: Cleanup: use const pointers
Campbell Barton
noreply at git.blender.org
Fri Oct 12 07:43:03 CEST 2018
Commit: eef365a126bd46267b8c4cdd9deaec5c94add9aa
Author: Campbell Barton
Date: Fri Oct 12 16:42:11 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBeef365a126bd46267b8c4cdd9deaec5c94add9aa
Cleanup: use const pointers
===================================================================
M source/blender/draw/intern/draw_cache_impl_mesh.c
===================================================================
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index 755d9e3bef1..d1ba4e91f7f 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -176,9 +176,9 @@ typedef struct MeshRenderData {
struct EditMeshData *edit_data;
MVert *mvert;
- MEdge *medge;
- MLoop *mloop;
- MPoly *mpoly;
+ const MEdge *medge;
+ const MLoop *mloop;
+ const MPoly *mpoly;
float (*orco)[3]; /* vertex coordinates normalized to bounding box */
bool is_orco_allocated;
MDeformVert *dvert;
@@ -517,14 +517,15 @@ static MeshRenderData *mesh_render_data_create_ex(
/* Edit mode ensures this is valid, no need to calculate. */
BLI_assert((bm->totloop == 0) || (embm->looptris != NULL));
int tottri = embm->tottri;
- rdata->mlooptri = MEM_mallocN(sizeof(*rdata->mlooptri) * embm->tottri, __func__);
+ MLoopTri *mlooptri = MEM_mallocN(sizeof(*rdata->mlooptri) * embm->tottri, __func__);
for (int index = 0; index < tottri ; index ++ ) {
BMLoop **bmtri = embm->looptris[index];
- MLoopTri *mtri = &rdata->mlooptri[index];
+ MLoopTri *mtri = &mlooptri[index];
mtri->tri[0] = BM_elem_index_get(bmtri[0]);
mtri->tri[1] = BM_elem_index_get(bmtri[1]);
mtri->tri[2] = BM_elem_index_get(bmtri[2]);
}
+ rdata->mlooptri = mlooptri;
rdata->tri_len = tottri;
}
@@ -622,8 +623,9 @@ static MeshRenderData *mesh_render_data_create_ex(
}
if (types & MR_DATATYPE_LOOPTRI) {
const int tri_len = rdata->tri_len = poly_to_tri_count(me->totpoly, me->totloop);
- rdata->mlooptri = MEM_mallocN(sizeof(*rdata->mlooptri) * tri_len, __func__);
- BKE_mesh_recalc_looptri(me->mloop, me->mpoly, me->mvert, me->totloop, me->totpoly, rdata->mlooptri);
+ MLoopTri *mlooptri = MEM_mallocN(sizeof(*mlooptri) * tri_len, __func__);
+ BKE_mesh_recalc_looptri(me->mloop, me->mpoly, me->mvert, me->totloop, me->totpoly, mlooptri);
+ rdata->mlooptri = mlooptri;
}
if (types & MR_DATATYPE_LOOP) {
rdata->loop_len = me->totloop;
@@ -1329,11 +1331,11 @@ static void mesh_render_data_ensure_edge_select_bool(MeshRenderData *rdata, bool
MEM_callocN(sizeof(*edge_select_bool) * rdata->edge_len, __func__);
for (int i = 0; i < rdata->poly_len; i++) {
- MPoly *poly = &rdata->mpoly[i];
+ const MPoly *poly = &rdata->mpoly[i];
if (poly->flag & ME_FACE_SEL) {
for (int j = 0; j < poly->totloop; j++) {
- MLoop *loop = &rdata->mloop[poly->loopstart + j];
+ const MLoop *loop = &rdata->mloop[poly->loopstart + j];
if (use_wire) {
edge_select_bool[loop->e] = true;
}
@@ -1455,7 +1457,7 @@ static bool mesh_render_data_edge_vcos_manifold_pnors(
}
else {
MVert *mvert = rdata->mvert;
- MEdge *medge = rdata->medge;
+ const MEdge *medge = rdata->medge;
EdgeAdjacentPolys *eap = rdata->edges_adjacent_polys;
float (*pnors)[3] = rdata->poly_normals;
@@ -1755,7 +1757,7 @@ static void add_overlay_loose_edge(
}
}
else {
- for (int i = 0; i < 2; ++i) {
+ for (int i = 0; i < 2; i++) {
const float *pos = (&eed->v1)[i]->co;
GPU_vertbuf_attr_set(vbo_pos, pos_id, base_vert_idx + i, pos);
}
@@ -1763,7 +1765,7 @@ static void add_overlay_loose_edge(
}
if (vbo_nor) {
- for (int i = 0; i < 2; ++i) {
+ for (int i = 0; i < 2; i++) {
GPUPackedNormal vnor = GPU_normal_convert_i10_v3((&eed->v1)[i]->no);
GPU_vertbuf_attr_set(vbo_nor, vnor_id, base_vert_idx + i, &vnor);
}
@@ -1772,7 +1774,7 @@ static void add_overlay_loose_edge(
if (vbo_data) {
EdgeDrawAttr eattr = {0};
mesh_render_data_edge_flag(rdata, eed, &eattr);
- for (int i = 0; i < 2; ++i) {
+ for (int i = 0; i < 2; i++) {
eattr.v_flag = mesh_render_data_vertex_flag(rdata, (&eed->v1)[i]);
GPU_vertbuf_attr_set(vbo_data, data_id, base_vert_idx + i, &eattr);
}
@@ -1785,14 +1787,14 @@ static void add_overlay_loose_edge_mapped(
{
if (vbo_pos) {
/* TODO(sybren): deduplicate this and all the other places it's pasted to in this file. */
- for (int i = 0; i < 2; ++i) {
+ for (int i = 0; i < 2; i++) {
const float *pos = mvert[*(&ed->v1 + i)].co;
GPU_vertbuf_attr_set(vbo_pos, pos_id, base_vert_idx + i, pos);
}
}
if (vbo_nor) {
- for (int i = 0; i < 2; ++i) {
+ for (int i = 0; i < 2; i++) {
GPUPackedNormal vnor = GPU_normal_convert_i10_s3(mvert[*(&ed->v1 + i)].no);
GPU_vertbuf_attr_set(vbo_nor, vnor_id, base_vert_idx + i, &vnor);
}
@@ -2135,17 +2137,17 @@ static void mesh_batch_cache_discard_shaded_tri(MeshBatchCache *cache)
{
GPU_VERTBUF_DISCARD_SAFE(cache->shaded_triangles_data);
if (cache->shaded_triangles_in_order) {
- for (int i = 0; i < cache->mat_len; ++i) {
+ for (int i = 0; i < cache->mat_len; i++) {
GPU_INDEXBUF_DISCARD_SAFE(cache->shaded_triangles_in_order[i]);
}
}
if (cache->shaded_triangles) {
- for (int i = 0; i < cache->mat_len; ++i) {
+ for (int i = 0; i < cache->mat_len; i++) {
GPU_BATCH_DISCARD_SAFE(cache->shaded_triangles[i]);
}
}
if (cache->texpaint_triangles) {
- for (int i = 0; i < cache->mat_len; ++i) {
+ for (int i = 0; i < cache->mat_len; i++) {
/* They use shaded_triangles_in_order */
GPU_BATCH_DISCARD_SAFE(cache->texpaint_triangles[i]);
}
@@ -2261,13 +2263,13 @@ static void mesh_batch_cache_clear_selective(Mesh *me, GPUVertBuf *vert)
GPU_BATCH_DISCARD_SAFE(cache->points_with_normals);
GPU_BATCH_DISCARD_SAFE(cache->ledges_with_normals);
if (cache->shaded_triangles) {
- for (int i = 0; i < cache->mat_len; ++i) {
+ for (int i = 0; i < cache->mat_len; i++) {
GPU_BATCH_DISCARD_SAFE(cache->shaded_triangles[i]);
}
}
MEM_SAFE_FREE(cache->shaded_triangles);
if (cache->texpaint_triangles) {
- for (int i = 0; i < cache->mat_len; ++i) {
+ for (int i = 0; i < cache->mat_len; i++) {
GPU_BATCH_DISCARD_SAFE(cache->texpaint_triangles[i]);
}
}
@@ -2347,7 +2349,7 @@ static void mesh_batch_cache_clear(Mesh *me)
mesh_batch_cache_discard_uvedit(cache);
if (cache->texpaint_triangles) {
- for (int i = 0; i < cache->mat_len; ++i) {
+ for (int i = 0; i < cache->mat_len; i++) {
GPU_BATCH_DISCARD_SAFE(cache->texpaint_triangles[i]);
}
}
@@ -3514,7 +3516,7 @@ static GPUVertBuf *mesh_batch_cache_get_vert_pos_and_nor_in_order(
BLI_assert(i == vbo_len_capacity);
}
else {
- for (int i = 0; i < vbo_len_capacity; ++i) {
+ for (int i = 0; i < vbo_len_capacity; i++) {
GPU_vertbuf_attr_set(vbo, attr_id.pos, i, rdata->mvert[i].co);
GPU_vertbuf_attr_set(vbo, attr_id.nor, i, rdata->mvert[i].no); /* XXX actually reading 4 shorts */
}
@@ -4012,7 +4014,7 @@ static GPUIndexBuf *mesh_batch_cache_get_edges_adjacency(MeshRenderData *rdata,
EdgeHash *eh = BLI_edgehash_new_ex(__func__, tri_len * 3);
/* Create edges for each pair of triangles sharing an edge. */
for (int i = 0; i < tri_len; i++) {
- for (int e = 0; e < 3; ++e) {
+ for (int e = 0; e < 3; e++) {
uint v0, v1, v2;
if (rdata->edit_bmesh) {
const BMLoop **bm_looptri = (const BMLoop **)rdata->edit_bmesh->looptris[i];
@@ -4024,8 +4026,8 @@ static GPUIndexBuf *mesh_batch_cache_get_edges_adjacency(MeshRenderData *rdata,
v2 = BM_elem_index_get(bm_looptri[(e + 2) % 3]->v);
}
else {
- MLoop *mloop = rdata->mloop;
- MLoopTri *mlt = rdata->mlooptri + i;
+ const MLoop *mloop = rdata->mloop;
+ const MLoopTri *mlt = rdata->mlooptri + i;
v0 = mloop[mlt->tri[e]].v;
v1 = mloop[mlt->tri[(e + 1) % 3]].v;
v2 = mloop[mlt->tri[(e + 2) % 3]].v;
@@ -4094,7 +4096,7 @@ static EdgeHash *create_looptri_edge_adjacency_hash(MeshRenderData *rdata)
EdgeHash *eh = BLI_edgehash_new_ex(__func__, tri_len * 3);
/* Create edges for each pair of triangles sharing an edge. */
for (int i = 0; i < tri_len; i++) {
- for (int e = 0; e < 3; ++e) {
+ for (int e = 0; e < 3; e++) {
uint v0, v1, v2;
if (rdata->edit_bmesh) {
const BMLoop **bm_looptri = (const BMLoop **)rdata->edit_bmesh->looptris[i];
@@ -4106,8 +4108,8 @@ static EdgeHash *create_looptri_edge_adjacency_hash(MeshRenderData *rdata)
v2 = BM_elem_index_get(bm_looptri[(e + 2) % 3]->v);
}
else {
- MLoop *mloop = rdata->mloop;
- MLoopTri *mlt = rdata->mlooptri + i;
+ const MLoop *mloop = rdata->mloop;
+ const MLoopTri *mlt = rdata->mlooptri + i;
v0 = mloop[mlt->tri[e]].v;
v1 = mloop[mlt->tri[(e + 1) % 3]].v;
v2 = mloop[mlt->tri[(e + 2) % 3]].v;
@@ -4151,9 +4153,9 @@ static GPUVertBuf *mesh_batch_cache_create_edges_overlay_texture_buf(MeshRenderD
for (int i = 0; i < tri_len; i++) {
bool edge_is_real[3];
- MEdge *medge = rdata->medge;
- MLoop *mloop = rdata->mloop;
- MLoopTri *mlt = rdata->mlooptri + i;
+ const MEdge *medge = rdata->medge;
+ const MLoop *mloop = rdata->mloop;
+ const MLoopTri *mlt = rdata->mlooptri + i;
int j, j_next;
for (j = 2, j_next = 0; j_next < 3; j = j_next++) {
@@ -4165,7 +4167,7 @@ static GPUVertBuf *mesh_batch_cache_create_edges_overlay_texture_buf(MeshRenderD
edge_is_real[j] = is_edge_real;
}
- for (int e = 0; e < 3; ++e) {
+ for (int e = 0; e < 3; e++) {
int v0 = mloop[mlt->tri[e]].v;
int v1 = mloop[mlt->tri[(e + 1) % 3]].v;
EdgeAdjacentVerts *eav = BLI_edgehash_lookup(eh, v0, v1);
@@ -4238,7 +4240,7 @@ static GPUIndexBuf *mesh_batch_cache_get_triangles_in_order(MeshRenderData *rdat
GPU_indexbuf_init(&elb, GPU_PRIM_TRIS, tri_len, vert_len);
if (rdata->edit_bmesh) {
- for (int i = 0; i < tri_len; ++i) {
+ for (int i = 0; i < tri_len; i++) {
const BMLoop **ltri = (const BMLoop **)rdata->edit_bmesh->looptris[i];
if (!BM_elem_flag_test(ltri[0]->f, BM_ELEM_HIDDEN)) {
for (uint tri_corner = 0; tri_corner < 3; tri_corner++) {
@@ -4248,7 +4250,7 @@ static GPUIndexBuf *mesh_batch_cache_get_triangles_in_order(MeshRenderData *rdat
}
}
else {
- for (int i = 0; i < tri_len; ++i) {
+ for (int i = 0; i < tri_len; i++) {
const MLoopTri *mlt = &rdata->mlooptri[i];
for (uint tri_corner = 0; tri_corner < 3; tri_corner++) {
GPU_indexbuf_add_generic_vert(&elb, mlt->tri[tri_corner]);
@@ -4347,7 +4349,7 @@ static GPUIndex
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list