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

Reply via email to