www.gusucode.com > mbcview 工具箱matlab源码程序 > mbcview/@cgproject/cgproject.m

    function h=cgproject(varargin)
%CGPROJECT  construct a cgproject object
%
% h=cgproject(filename)  constructs a cgproject object
% h=cgproject(structure)
%
% CGPROJECT inherits from CGNODE
%

%  Copyright 2000-2011 The MathWorks, Inc. and Ford Global Technologies, Inc.


loadstr=0;
cgnodeArgs = {};
if nargin==0
    loadstr=1;
end

if nargin==1 && isstruct(varargin{1})
    h=varargin{1};
    if isfield(h,'cgnode')
        cgnodeArgs = {h.cgnode};
        h = rmfield(h,'cgnode');
        loadstr=1;
    end
else
    if nargin<1
        fname='Untitled';
    else
        fname=varargin{1};
    end
    % construct a new object
    h=struct('loader', mbcloadstart, ...
        'timestamp',now,...
        'version',7,...
        'heap',[],...
        'filename',fname,...
        'beingdel',0,...
        'modified',0, ...
        'SavedMBCVersion', '', ...
        'SavedAddonVersions', {cell(0,2)},...
        'Connections',[],...
        'LastNode',[]);
    if ~loadstr
        cgnodeArgs = {'project','cage.bmp'};
    end
end

t = cgnode(cgnodeArgs{:});
h=class(h,'cgproject',t);

if ~loadstr
    [~,n,~]=fileparts(h.filename);
    h=name(h,n);
    p=pointer(h);
    h=p.info;
end