%%
%%
%%
%%
%%Copyright1994-2010TheMathWorks,Inc.
%%
%%Description:
%%SupportlibraryforASAM-MCDxsupport.
%%
 
%if EXISTS("_ASAMLIB_") == 0
%assign _ASAMLIB_ = 1
 
%%
%%Blockdefaultscontains:
%%
%%BlockDefaults{
%%NumParameterGroups0
%%}
%%
%%CreateaparametergroupinBlockInstanceSetup:
%%
%%%assigngroup=SLibCreateParameterGroup(block,"Lookup1D")
%%%assignmainParam=SLibAddMainParameter(block,group,YData)>
%%%assignsubParam=SLibAddSubParameter(block,mainParam,XData)>
%%
%%ThisexampledefinestheXDataasasub-parameteroftheYData,and
%%theblock'sgroupdefinitionisasfollows:
%%
%%Block{
%%Type"Lookup2D"
%%Parameter{
%%Name"XData"
%%MemoryMapIdx[123]
%%}
%%Parameter{
%%Name"YData"
%%MemoryMapIdx[124]
%%}
%%Parameter{
%%Name"ZData"
%%MemoryMapIdx[125]
%%}
%%NumParameterGroups1
%%ParameterGroup{
%%Name"2DLookup"
%%NumMembers1
%%Member{
%%ReferenceZData
%%NumMembers2
%%Member{
%%ReferenceXData
%%NumMembers0
%%}
%%Member{
%%ReferenceYData
%%NumMembers0
%%}
%%}
%%}
%%}
%%
 
 
%%Function:SLibCreateParameterGroup===========================================
%%Abstract:
%%Create(add)aparametergrouptoablock.Forexample,
%%
%%%assigngroup=SLibAddCreateParameterGroup(block,"2DLookup")
%%
%%Block{
%%ParameterGroup{
%%Name"2DLookup"
%%NumMembers0
%%}
%%}
%%
 
%function SLibCreateParameterGroup(block,name) void
  %if !ISFIELD(block, "NumParameterGroups")
    %<LibAddIdentifier(block,"NumParameterGroups",1)>
  %else
    %assign block.NumParameterGroups = NumParameterGroups + 1
  %endif
  %assign tmpVar = ParameterGroup { Name name; NumMembers 0 }
  %assign block = block + ParameterGroup
  %return block.ParameterGroup[NumParameterGroups-1]
%endfunction
 
 
%%Function:SLibAddMember======================================================
%%Abstract:
%%AddmemberreferencetoaParameterGrouporParameterData.
%%Seelookup2d.tlcforanexampleusageofthisfunction.
%%
%%ParameterGroup{
%%Name"2DLookup"
%%NumMembers1
%%Member{<==%assignm=SLibAddMember(block,group,ZData)
%%ReferenceZData
%%NumMembers2
%%Member{<==%assignt=SLibAddMember(block,m,XData)
%%ReferenceXData
%%NumMembers0
%%}
%%Member{<==%assignt=SLibAddMember(block,m,YData)
%%ReferenceYData
%%NumMembers0
%%}
%%}
%%}
%%
 
%function SLibAddMember(block,group,param) void
  %assign tmpVar = Member { Reference param ; NumMembers 0 }
  %assign group = group + Member
  %assign group.NumMembers = group.NumMembers + 1
  %return group.Member[group.NumMembers-1]
%endfunction
 
%endif %% _ASAMLIB_
 
%%[EOF]asamlib.tlc