function h = pzgroup
%PZGROUP  Constructor for pole/zero group object.

%   Author(s): P. Gahinet
%   Copyright 1986-2000 The MathWorks, Inc. 
%   $Revision: 1.2 $ $Date: 2000/06/14 20:18:51 $


if nargout==0
    % Register class 
    c = schema.class(findpackage('sisodata'),'pzgroup');
    
    % Define properties
    % RE: Supported group types are Real, Complex, LeadLag, and Notch
    schema.prop(c,'Type','String');           % Group type 
    p(1) = schema.prop(c,'Zero','mxArray');   % Zero handles (HG objects)
    p(2) = schema.prop(c,'Pole','mxArray');   % Pole handles (HG objects)
 
    % Defaults
    % RE: AbortSet=off to correctly overwrite bad user input in PZ editor 
    %     (group data is unchanged in such case)
    set(p,'AccessFlags.AbortSet','off',...
        'AccessFlags.Init','on','FactoryValue',zeros(0,1));
    
    % Event
    schema.event(c,'PZDataChanged');    % Notifies of modified Zero or Pole data
    
else
    % Create class instance
    h = sisodata.pzgroup;
    
end
