changeset 28008:e6482c932d4b

__unite_shared_vertices__.m: Keep one NaN vertex if necessary (bug #57553).
author Markus Mützel <markus.muetzel@gmx.de>
date Sun, 26 Jan 2020 17:00:05 +0100
parents 7cc9f35c2829
children e3e26f54bfdc
files scripts/plot/draw/private/__unite_shared_vertices__.m
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/draw/private/__unite_shared_vertices__.m	Sun Jan 26 16:39:58 2020 +0100
+++ b/scripts/plot/draw/private/__unite_shared_vertices__.m	Sun Jan 26 17:00:05 2020 +0100
@@ -40,6 +40,7 @@
 
 function [faces, vertices, J] = __unite_shared_vertices__ (faces, vertices)
 
+  nan_vertices = any (isnan (vertices), 2);
   lut = (1:rows (vertices))';
   J = lut;
   for di = 1:3
@@ -54,6 +55,11 @@
   [J, idx] = sort (J);
   j(idx) = 1:length (idx);
   vertices = vertices(idx,:);
+  if any (nan_vertices)
+    j(end+1) = length (idx) + 1;
+    vertices(end+1,:) = NaN;
+    lut(nan_vertices) = rows (vertices);
+  endif
   faces = j(lut(faces));
 
   ## Eliminate faces with zero area