Home > classes > @cdata > copy.m

copy

PURPOSE ^

COPY Make copy of cdata objects depending of the second input

SYNOPSIS ^

function varargout = copy(varargin)

DESCRIPTION ^

 COPY Make copy of cdata objects depending of the second input
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: COPY Make copy of cdata objects depending of the second input

 CALL:        objs = copy(objs, [1,0]);

 M-FILE INFO: Get information about this methods by calling
              >> cdata.getInfo('copy')

 VERSION:     $Id: copy.m,v 1.6 2008/08/10 20:06:46 hewitson Exp $

 HISTORY:     11-07-2008 Diepholz
                 Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % COPY Make copy of cdata objects depending of the second input
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % DESCRIPTION: COPY Make copy of cdata objects depending of the second input
0005 %
0006 % CALL:        objs = copy(objs, [1,0]);
0007 %
0008 % M-FILE INFO: Get information about this methods by calling
0009 %              >> cdata.getInfo('copy')
0010 %
0011 % VERSION:     $Id: copy.m,v 1.6 2008/08/10 20:06:46 hewitson Exp $
0012 %
0013 % HISTORY:     11-07-2008 Diepholz
0014 %                 Creation
0015 %
0016 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0017 
0018 function varargout = copy(varargin)
0019 
0020   %%% Check if this is a call for parameters
0021   if utils.helper.isinfocall(varargin{:})
0022     varargout{1} = getInfo(varargin{3});
0023     return
0024   end
0025 
0026   % Collect all cdata objects
0027   old = utils.helper.collect_objects(varargin(:), 'cdata');
0028   deepcopy = varargin{end};
0029 
0030   if deepcopy
0031     ps = properties('cdata');
0032     s  = size(old);
0033     obj(s(1),s(2)) = cdata;
0034     for kk=1:numel(old)
0035       utils.helper.msg(utils.const.msg.OPROC2, 'copying cdata');
0036       for jj=1:length(ps)
0037         obj(kk).(ps{jj}) = old(kk).(ps{jj});
0038       end
0039       % reset on copy
0040       obj(kk).version = cdata.VEROUT;
0041     end
0042   else
0043     obj = old;
0044   end
0045   varargout{1} = obj;
0046 end
0047 
0048 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0049 %                               Local Functions                               %
0050 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0051 
0052 function ii = getInfo(varargin)
0053   if nargin == 1 && strcmpi(varargin{1}, 'None')
0054     sets = {};
0055     pl   = [];
0056   else
0057     sets = {'Default'};
0058     pl   = getDefaultPlist;
0059   end
0060   % Build info object
0061   ii = minfo(mfilename, 'cdata', '', 'Internal', '$Id: copy.m,v 1.6 2008/08/10 20:06:46 hewitson Exp $', sets, pl);
0062 end
0063 
0064 function plo = getDefaultPlist()
0065   plo = plist();
0066 end
0067

Generated on Mon 25-Aug-2008 22:39:29 by m2html © 2003