changeset 20415:85dcbed19753 stable

Pass all fields in face/vertex structure through to patch() (bug #45593). * __patch__.m: Convert face/vertex structure to a cell array of property names/values before calling __go_patch__.
author Rik <rik@octave.org>
date Thu, 23 Jul 2015 12:54:13 -0700
parents 56301a6c337a
children 587357240e5e
files scripts/plot/draw/private/__patch__.m
diffstat 1 files changed, 5 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/draw/private/__patch__.m	Thu Jul 23 09:45:59 2015 -0700
+++ b/scripts/plot/draw/private/__patch__.m	Thu Jul 23 12:54:13 2015 -0700
@@ -38,17 +38,11 @@
     args = varargin;
   elseif (isstruct (varargin{1}))
     if (isfield (varargin{1}, "vertices") && isfield (varargin{1}, "faces"))
-      args{1} = "faces";
-      args{2} = getfield (varargin{1}, "faces");
-      args{3} = "vertices";
-      args{4} = getfield (varargin{1}, "vertices");
-      args{5} = "facevertexcdata";
-      if (isfield (varargin{1}, "facevertexcdata"))
-        args{6} = getfield (varargin{1}, "facevertexcdata");
-      else
-        args{6} = [];
-      endif
-      args = [args, varargin(2:end)];
+      fvs = varargin{1};
+      fvc = cell (1, 2*numfields (fvs));
+      fvc(1:2:end) = fieldnames (fvs);
+      fvc(2:2:end) = struct2cell (fvs);
+      args = [fvc{:}, varargin(2:end)];
     else
       failed = true;
     endif