Commit: 25987fef1d94578fcc7f786ea0304dd15ed00278
Author: Yiming Wu
Date: Thu May 30 22:33:56 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB25987fef1d94578fcc7f786ea0304dd15ed00278
Fix pointer conversion error for MSVC
===================================================================
M source/blender/draw/engines/lanpr/lanpr_access.c
M source/blender/draw/engines/lanpr/lanpr_chain.c
M source/blender/draw/engines/lanpr/lanpr_ops.c
===================================================================
diff --git a/source/blender/draw/engines/lanpr/lanpr_access.c
b/source/blender/draw/engines/lanpr/lanpr_access.c
index 29fa64f2984..6bd7b82c155 100644
--- a/source/blender/draw/engines/lanpr/lanpr_access.c
+++ b/source/blender/draw/engines/lanpr/lanpr_access.c
@@ -75,13 +75,13 @@ void lanpr_generate_gpencil_geometry(
//Split countour lines at occlution points and deselect occluded segment
LANPR_RenderLine *rl;
LANPR_RenderLineSegment *rls, *irls;
- for (rl = rb->all_render_lines.first; rl; rl = rl->item.next) {
+ for (rl = rb->all_render_lines.first; rl; rl =
(LANPR_RenderLine*)rl->item.next) {
BMEdge *e = BM_edge_at_index_find(bm, rl->edge_idx);
BMVert *v1 = e->v1; //Segment goes from v1 to v2
BMVert *v2 = e->v2;
BMVert *cur_vert = v1;
- for (rls = rl->segments.first; rls; rls = rls->item.next) {
+ for (rls = rl->segments.first; rls; rls =
(LANPR_RenderLineSegment*)rls->item.next) {
irls = rls->item.next;
if (rls->occlusion != 0) {
@@ -260,7 +260,7 @@ void lanpr_generate_gpencil_from_chain(
LANPR_RenderLineChain* rlc;
LANPR_RenderLineChainItem* rlci;
- for (rlc = rb->chains.first;rlc;rlc=rlc->item.next){
+ for (rlc =
rb->chains.first;rlc;rlc=(LANPR_RenderLineChain*)rlc->item.next){
int array_idx = 0;
int count = lanpr_count_chain(rlc);
@@ -268,7 +268,7 @@ void lanpr_generate_gpencil_from_chain(
float *stroke_data = BLI_array_alloca(stroke_data, count *
GP_PRIM_DATABUF_SIZE);
- for(rlci = rlc->chain.first;rlci;rlci=rlci->item.next){
+ for(rlci =
rlc->chain.first;rlci;rlci=(LANPR_RenderLineChainItem*)rlci->item.next){
float opatity=rlci->occlusion?0.1f:1.0f;
stroke_data[array_idx] = rlci->pos[0];
stroke_data[array_idx + 1] = rlci->pos[1];
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c
b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 219f297500e..c934d4c4c04 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -149,8 +149,8 @@ void
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain *rlc,
LANPR_RenderLineChainItem *max_rlci = 0;
// find the max distance item
- for (rlci = from->item.next; rlci != to; rlci = next_rlci) {
- next_rlci = rlci->item.next;
+ for (rlci = (LANPR_RenderLineChainItem*)from->item.next; rlci != to; rlci =
next_rlci) {
+ next_rlci = (LANPR_RenderLineChainItem*)rlci->item.next;
if (next_rlci &&
(next_rlci->occlusion != rlci->occlusion || next_rlci->line_type !=
rlci->line_type))
@@ -167,8 +167,8 @@ void
lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain *rlc,
if (!max_rlci) {
if (from->item.next == to)
return;
- for (rlci = from->item.next; rlci != to; rlci = next_rlci) {
- next_rlci = rlci->item.next;
+ for (rlci = (LANPR_RenderLineChainItem*)from->item.next; rlci != to; rlci
= next_rlci) {
+ next_rlci = (LANPR_RenderLineChainItem*)rlci->item.next;
if (next_rlci &&
(next_rlci->occlusion != rlci->occlusion || next_rlci->line_type !=
rlci->line_type))
continue;
@@ -191,7 +191,7 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer
*rb, float dist_thre
LANPR_BoundingArea *ba;
LANPR_RenderLineSegment *rls;
- for (rl = rb->all_render_lines.first; rl; rl = rl->item.next) {
+ for (rl = rb->all_render_lines.first; rl; rl =
(LANPR_RenderLine*)rl->item.next) {
if ((!(rl->flags & LANPR_EDGE_FLAG_ALL_TYPE)) || (rl->flags &
LANPR_EDGE_FLAG_CHAIN_PICKED))
continue;
@@ -246,7 +246,7 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer
*rb, float dist_thre
}
if (new_rv == new_rl->l) {
- for (rls = new_rl->segments.last; rls; rls = rls->item.prev) {
+ for (rls = new_rl->segments.last; rls; rls =
(LANPR_RenderLineSegment*)rls->item.prev) {
float px, py;
px = tnsLinearItp(new_rl->l->fbcoord[0], new_rl->r->fbcoord[0],
rls->at);
py = tnsLinearItp(new_rl->l->fbcoord[1], new_rl->r->fbcoord[1],
rls->at);
@@ -256,8 +256,8 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer
*rb, float dist_thre
else if (new_rv == new_rl->r) {
rls = new_rl->segments.first;
last_occlusion = rls->occlusion;
- rls = rls->item.next;
- for (rls; rls; rls = rls->item.next) {
+ rls = (LANPR_RenderLineSegment*)rls->item.next;
+ for (rls; rls; rls = (LANPR_RenderLineSegment*)rls->item.next) {
float px, py;
px = tnsLinearItp(new_rl->l->fbcoord[0], new_rl->r->fbcoord[0],
rls->at);
py = tnsLinearItp(new_rl->l->fbcoord[1], new_rl->r->fbcoord[1],
rls->at);
@@ -277,7 +277,7 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer
*rb, float dist_thre
// step 2: this line
rls = rl->segments.first;
- for (rls = rls->item.next; rls; rls = rls->item.next) {
+ for (rls = (LANPR_RenderLineSegment*)rls->item.next; rls; rls =
(LANPR_RenderLineSegment*)rls->item.next) {
float px, py;
px = tnsLinearItp(rl->l->fbcoord[0], rl->r->fbcoord[0], rls->at);
py = tnsLinearItp(rl->l->fbcoord[1], rl->r->fbcoord[1], rls->at);
@@ -304,14 +304,14 @@ void
lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
rls = new_rl->segments.last;
last_occlusion = rls->occlusion;
rlci->occlusion = last_occlusion;
- rls = rls->item.prev;
+ rls = (LANPR_RenderLineSegment*)rls->item.prev;
if (rls)
last_occlusion = rls->occlusion;
- for (rls = new_rl->segments.last; rls; rls = rls->item.prev) {
+ for (rls = new_rl->segments.last; rls; rls =
(LANPR_RenderLineSegment*)rls->item.prev) {
float px, py;
px = tnsLinearItp(new_rl->l->fbcoord[0], new_rl->r->fbcoord[0],
rls->at);
py = tnsLinearItp(new_rl->l->fbcoord[1], new_rl->r->fbcoord[1],
rls->at);
- last_occlusion = rls->item.prev ?
+ last_occlusion = (LANPR_RenderLineSegment*)rls->item.prev ?
((LANPR_RenderLineSegment
*)rls->item.prev)->occlusion :
0;
lanpr_append_render_line_chain_point(rb, rlc, px, py, N,
new_rl->flags, last_occlusion);
@@ -321,8 +321,8 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer
*rb, float dist_thre
rls = new_rl->segments.first;
last_occlusion = rls->occlusion;
rlci->occlusion = last_occlusion;
- rls = rls->item.next;
- for (rls; rls; rls = rls->item.next) {
+ rls = (LANPR_RenderLineSegment*)rls->item.next;
+ for (rls; rls; rls = (LANPR_RenderLineSegment*)rls->item.next) {
float px, py;
px = tnsLinearItp(new_rl->l->fbcoord[0], new_rl->r->fbcoord[0],
rls->at);
py = tnsLinearItp(new_rl->l->fbcoord[1], new_rl->r->fbcoord[1],
rls->at);
@@ -351,7 +351,7 @@ int lanpr_count_chain(LANPR_RenderLineChain *rlc)
{
LANPR_RenderLineChainItem *rlci;
int Count = 0;
- for (rlci = rlc->chain.first; rlci; rlci = rlci->item.next) {
+ for (rlci = rlc->chain.first; rlci; rlci =
(LANPR_RenderLineChainItem*)rlci->item.next) {
Count++;
}
return Count;
@@ -367,7 +367,7 @@ float lanpr_compute_chain_length(LANPR_RenderLineChain
*rlc, float *lengths, int
rlci = rlc->chain.first;
copy_v2_v2(last_point, rlci->pos);
- for (rlci = rlc->chain.first; rlci; rlci = rlci->item.next) {
+ for (rlci = rlc->chain.first; rlci; rlci =
(LANPR_RenderLineChainItem*)rlci->item.next) {
dist = len_v2v2(rlci->pos, last_point);
offset_accum += dist;
lengths[begin_index + i] = offset_accum;
@@ -420,7 +420,7 @@ void lanpr_chain_generate_draw_command(LANPR_RenderBuffer
*rb)
GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format);
- for (rlc = rb->chains.first; rlc; rlc = rlc->item.next) {
+ for (rlc = rb->chains.first; rlc; rlc =
(LANPR_RenderLineChain*)rlc->item.next) {
int count = lanpr_count_chain(rlc);
// printf("seg contains %d verts\n", count);
vert_count += count;
@@ -437,11 +437,11 @@ void lanpr_chain_generate_draw_command(LANPR_RenderBuffer
*rb)
vert_count,
true); // elem count will not exceed vert_count
- for (rlc = rb->chains.first; rlc; rlc = rlc->item.next) {
+ for (rlc = rb->chains.first; rlc; rlc =
(LANPR_RenderLineChain*)rlc->item.next) {
total_length = lanpr_compute_chain_length(rlc, lengths, i);
- for (rlci = rlc->chain.first; rlci; rlci = rlci->item.next) {
+ for (rlci = rlc->chain.first; rlci; rlci =
(LANPR_RenderLineChain*)rlci->item.next) {
length_target[0] = lengths[i];
length_target[1] = total_length - lengths[i];
diff --git a/source/blender/draw/engines/lanpr/lanpr_ops.c
b/source/blender/draw/engines/lanpr/lanpr_ops.c
index 2ab9f6f3d24..8b3d512645a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_ops.c
+++ b/source/blender/draw/engines/lanpr/lanpr_ops.c
@@ -550,7 +550,7 @@ void lanpr_add_triangles(LANPR_RenderBuffer *rb)
rb->calculation_status = TNS_CALCULATION_INTERSECTION;
// nulThreadNotifyUsers("tns.render_buffer_list.calculation_status");
- for (reln = rb->triangle_buffer_pointers.first; reln; reln =
reln->item.next) {
+ for (reln = rb->triangle_buffer_pointers.first; reln; reln =
(LANPR_RenderElementLinkNode*)reln->item.next) {
rt = reln->pointer;
lim = reln->element_count;
for (i = 0; i < lim; i++) {
@@ -856,7 +856,7 @@ void lanpr_cut_render_line(LANPR_RenderBuffer *rb,
LANPR_RenderLine *rl, real Be
End = t;
}
- for (rls = rl->segments.first; rls; rls = rls->item.next) {
+ for (rls = rl->segments.first; rls; rls =
(LANPR_RenderLineSegment*)rls->item.next) {
if (TNS_DOUBLE_CLOSE_ENOUGH(rls->at, Begin)) {
begin_segment = rls;
ns = begin_segment;
@@ -875,7 +875,7 @@ void lanpr_cut_render_line(LANPR_RenderBuffer *rb,
LANPR_RenderLine *rl, real Be
if (!begin_segment && TNS_DOUBLE_CLOSE_ENOUGH(1, End)) {
untouched = 1;
}
- for (rls = begin_segment; rls; rls = rls->item.next) {
+ for (rls = begin_segment; rls; rls =
(LANPR_RenderLineSegment*)rls->item.next) {
if (TNS_DOUBLE_CLOSE_ENOUGH(rls->at, End)) {
end_segment = rls;
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs