xxsimGetSubmodelTree

PURPOSE ^

xxsimGetSubmodelTree - Get the list of submodels underneath the specified

SYNOPSIS ^

function retval = xxsimGetSubmodelTree(submodelName, varargin)

DESCRIPTION ^

 xxsimGetSubmodelTree - Get the list of submodels underneath the specified
                        submodel.

 Syntax: 
   retval = xxsimGetSubmodelTree('submodel_name', recursive, includeSelf)

 Inputs:
   submodelName = The hierarchical submodel name or the empty string for the
                  overall model.
      recursive    = (optional, default=false) false: returns one level below the
                  submodel, true: returns recursively the tree below the
                  specified submodel
   includeSelf  = (optional, default=false) false: returns only the submodels
                  below submodelName; true: includes submodelName in the result
 
 Outputs: 
   retval = returns a structure array of the requested properties.
 
 Examples:
   retval = xxsimGetSubmodelProperties('Controller.PID')
   
     - returns the structure array with all submodel properties for the
       submodel "PID" within the submodel "Controller".

      retval = xxsimGetSubmodelProperties('PID', 'Keywords', 'Title')

      - returns the structure array with the Keywords and Title properties of the 
     submodel named "PID".


 Author: Controllab Products B.V.
 email: info@controllab.nl
 Website: https://www.20sim.com
 December 2018

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function retval = xxsimGetSubmodelTree(submodelName, varargin)
0002 % xxsimGetSubmodelTree - Get the list of submodels underneath the specified
0003 %                        submodel.
0004 %
0005 % Syntax:
0006 %   retval = xxsimGetSubmodelTree('submodel_name', recursive, includeSelf)
0007 %
0008 % Inputs:
0009 %   submodelName = The hierarchical submodel name or the empty string for the
0010 %                  overall model.
0011 %      recursive    = (optional, default=false) false: returns one level below the
0012 %                  submodel, true: returns recursively the tree below the
0013 %                  specified submodel
0014 %   includeSelf  = (optional, default=false) false: returns only the submodels
0015 %                  below submodelName; true: includes submodelName in the result
0016 %
0017 % Outputs:
0018 %   retval = returns a structure array of the requested properties.
0019 %
0020 % Examples:
0021 %   retval = xxsimGetSubmodelProperties('Controller.PID')
0022 %
0023 %     - returns the structure array with all submodel properties for the
0024 %       submodel "PID" within the submodel "Controller".
0025 %
0026 %      retval = xxsimGetSubmodelProperties('PID', 'Keywords', 'Title')
0027 %
0028 %      - returns the structure array with the Keywords and Title properties of the
0029 %     submodel named "PID".
0030 %
0031 %
0032 % Author: Controllab Products B.V.
0033 % email: info@controllab.nl
0034 % Website: https://www.20sim.com
0035 % December 2018
0036 
0037 %------------- BEGIN CODE --------------
0038 
0039     % Check if the submodelName is a string.
0040     if(~ischar(submodelName))
0041         error('Please specify a valid submodel name.');
0042     end
0043     
0044     recursive = false;
0045     
0046     if length(varargin)>= 1
0047         if islogical(varargin{1})
0048             recursive = varargin{1};
0049         else
0050             if (varargin{1} ~= 0) 
0051                 recursive = true;
0052             end
0053         end
0054     end
0055   
0056     includeSelf = false;
0057     if length(varargin)>= 2
0058         if islogical(varargin{2})
0059             includeSelf = varargin{2};
0060         else
0061             if (varargin{2} ~= 0) 
0062                 includeSelf = true;
0063             end
0064         end
0065     end
0066 
0067     retval = xrlinvoke('xxsim.model.getSubmodelTree', struct('submodelName',submodelName,'recursive',recursive,'includeSelf',includeSelf));
0068 end

Generated on Thu 25-Apr-2024 10:30:24