Home > classes > @history > history.m

history

PURPOSE ^

HISTORY History object class constructor.

SYNOPSIS ^

function h = history(varargin)

DESCRIPTION ^

 HISTORY History object class constructor.
     Create a history object.
 
     h = history() - creates a blank history object
 
     h = history('name', 'version')  - creates a history object with this
                                       name and version
 
     h = history('name', 'version', plist)  
             - creates a history object with this name, version and
               parameter list.
 
     h = history('name', 'version', plist, hi)  
             - creates a history object with this name, version,
               parameter list, and vector of input history objects.
 
     h = history(hi) - creates a new history object from the 
                       history object hi
 
 M Hewitson 30-01-07

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function h = history(varargin)
0002 
0003 % HISTORY History object class constructor.
0004 %     Create a history object.
0005 %
0006 %     h = history() - creates a blank history object
0007 %
0008 %     h = history('name', 'version')  - creates a history object with this
0009 %                                       name and version
0010 %
0011 %     h = history('name', 'version', plist)
0012 %             - creates a history object with this name, version and
0013 %               parameter list.
0014 %
0015 %     h = history('name', 'version', plist, hi)
0016 %             - creates a history object with this name, version,
0017 %               parameter list, and vector of input history objects.
0018 %
0019 %     h = history(hi) - creates a new history object from the
0020 %                       history object hi
0021 %
0022 % M Hewitson 30-01-07
0023 %
0024 
0025 ALGONAME = mfilename;
0026 VERSION  = '$Id: history.html,v 1.1 2007/06/08 14:15:05 hewitson Exp $';
0027 
0028 
0029 if nargin == 0                  % create default history object
0030   h.name    = 'None';
0031   h.version = VERSION;
0032   h.plist   = plist();
0033   h.inhists = [];
0034   h.invars  = {};
0035   h.n       = -1;
0036   h.pn      = -1;
0037   h.created = sprintf('%s', datestr(now));
0038   h.consver = VERSION;
0039   h = class(h, 'history');
0040 elseif nargin == 1              % copy history object
0041   if isstruct(varargin{1})
0042     hstruct = varargin{1};
0043     h.name    = hstruct.name;
0044     h.version = hstruct.version;
0045     pl = hstruct.plist;
0046     if isstruct(pl)
0047       pl = plist(pl);
0048     end
0049     h.plist   = pl;
0050     inh = hstruct.inhists;
0051     inhists = [];
0052     for j=1:length(inh)
0053       if isstruct(inh(j))
0054         inhists = [inhists history(inh(j))];
0055       else
0056         inhists = [inhists inh(j)];
0057       end
0058     end
0059     h.inhists = inhists;
0060     h.invars  = hstruct.invars;
0061     h.n       = hstruct.n;
0062     h.pn      = hstruct.pn;
0063     h.created = hstruct.created;
0064     h.consver = hstruct.consver;
0065     h = class(h, 'history');
0066   else
0067     h = varargin{1};
0068     h.consver = VERSION;
0069   end
0070 elseif nargin == 2              % name and version
0071   h.name      = varargin{1};
0072   h.version   = varargin{2};
0073   h.plist     = plist();
0074   h.inhists   = [];
0075   h.invars  = {};
0076   h.n       = -1;
0077   h.pn      = -1;
0078   h.created = sprintf('%s', datestr(now));
0079   h.consver = VERSION;
0080   h = class(h, 'history');
0081 elseif nargin == 3              % name, version and plist
0082   h.name      = varargin{1};
0083   h.version   = varargin{2};
0084   h.plist     = varargin{3};
0085   h.inhists   = [];
0086   h.invars  = {};
0087   h.n       = -1;
0088   h.pn      = -1;
0089   h.created = sprintf('%s', datestr(now));
0090   h.consver = VERSION;
0091   h = class(h, 'history');
0092 elseif nargin == 4              % name, version, plist and input histories
0093   h.name      = varargin{1};
0094   h.version   = varargin{2};
0095   h.plist     = varargin{3};
0096   h.inhists   = varargin{4};
0097   h.invars  = {};
0098   h.n       = -1;
0099   h.pn      = -1;
0100   h.created = sprintf('%s', datestr(now));
0101   h.consver = VERSION;
0102   h = class(h, 'history');
0103 else
0104   error('### Unknown number of constructor arguments.');
0105 end
0106

Generated on Fri 08-Jun-2007 16:09:11 by m2html © 2003