1919## -*- texinfo -*-
2020## @documentencoding UTF - 8
2121## @deftypefn {Function File } {} vibes .drawBox (@var{box })
22- ## Plot a single box with pairs of lower bounds and upper bounds . The matrix
23- ## @var{box } must be of size either @option{[2 @var{n }]} or
22+ ## Plot a single box with pairs of lower bounds and upper bounds .
23+ ##
24+ ## The matrix @var{box } must be of size either @option{[2 @var{n }]} or
2425## @option{[@var{n } 2 ]}, where @var{n} is the number of axes.
26+ ##
27+ ## Alternatively @var{box } may be an interval vector .
2528## @end deftypefn
2629##
2730## @deftypefn {Function File } {} vibes .drawBox (@var{x_lb }, @var{x_ub }, @var{y_lb }, @var{y_ub })
@@ -42,6 +45,22 @@ function drawBox (varargin)
4245 print_usage ();
4346endif
4447
48+ if (any (isa (varargin{1 }, {' infsup' , ' intval' })))
49+ varargin{1 } = horzcat (vec (inf (varargin{1 })), ...
50+ vec (sup (varargin{1 })));
51+ ## Stack multiple intervals into a common box
52+ for i = 2 : nargin
53+ if (any (isa (varargin{2 }, {' infsup' , ' intval' })))
54+ varargin = {vertcat(varargin{1 }, ...
55+ horzcat (vec (inf (varargin{2 })), ...
56+ vec (sup (varargin{2 })))), ...
57+ varargin{3 : end }};
58+ else
59+ break
60+ endif
61+ endfor
62+ endif
63+
4564__vibes__ (' drawBox' , varargin{: });
4665
4766endfunction
0 commit comments