view test/classdef/struct_wrapper.m @ 31248:8b75954a4670

delaunayn: adjust node ordering for positive outward normal vectors (bug #53397) * delaunayn.m: Check sign of simplex volume, flip node order for negative volumes to ensure positive (outward-pointing) normal vectors. Add BISTs to check for positive volumes. * etc/News.8.md: Append function improvement note to delaunayn change paragraph under General Improvements.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Thu, 29 Sep 2022 23:09:05 -0400
parents ad71c8d87cff
children
line wrap: on
line source

classdef struct_wrapper
  properties
    s;
  end
  methods
    function o = struct_wrapper ()
      if (nargin == 0)
        o.s = struct ();
      else
        error ('struct_wrapper:SyntaxError', ...
               'struct_wrapper: Invalid syntax');
      end
    end
    function n = numel (o, varargin)
      n = 1;
    end
    function varargout = subsref (o, p)
      if (isequal (p(1).type, '{}'))
        r = [];
        for i = 1:numel (p(1).subs)
          r = [r, getfield(o.s, p(1).subs{i})];
        end
        varargout = {r};
      else
        error ('struct_wrapper:SyntaxError', ...
               'struct_wrapper: Invalid syntax');
      end
    end
    function o = subsasgn (o, p, varargin)
      if (isequal (p(1).type, '{}'))
        for i = 1:numel (p(1).subs)
          o.s = setfield (o.s, p(1).subs{i}, varargin{1}(i));
        end
      else
        error ('struct_wrapper:SyntaxError', ...
               'struct_wrapper: Invalid syntax');
      end
    end
  end
end