FUNCTION get_mrlc_not_for_base
(input1 : Documentation_layer_stratum; base_component : SET [0:?] OF Area_component) : SET [0:?] OF Material_removal_laminate_component;
LOCAL ac: SET OF Area_component := []; i : INTEGER := 0; mrlc : SET OF Material_removal_laminate_component := []; mrlc_b : SET OF Material_removal_laminate_component := []; sf : SET OF Stratum_feature := bag_to_set(USEDIN(input1,'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE.RESIDENT_STRATUM')); sftc_s : SET OF Stratum_feature_template_component := bag_to_set( USEDIN(input1,'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE_TEMPLATE_COMPONENT.IMPLEMENTATION_OR_RESIDENT_STRATUM')); sftc_sf : SET OF Stratum_feature_template_component := []; sftc_t : SET OF Stratum_feature_template_component := []; END_LOCAL; REPEAT i := 1 TO HIINDEX(sf) BY 1; sftc_sf := sftc_sf + bag_to_set(USEDIN(sf[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE_TEMPLATE_COMPONENT.IMPLEMENTATION_OR_RESIDENT_STRATUM')); END_REPEAT; sftc_t := sftc_s + sftc_sf; REPEAT i := 1 TO HIINDEX(sftc_t) BY 1; mrlc := mrlc + bag_to_set(USEDIN(sftc_t[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.MATERIAL_REMOVAL_LAMINATE_COMPONENT.DESIGN_INTENT')); END_REPEAT; REPEAT i := 1 TO HIINDEX(base_component) BY 1; mrlc_b := mrlc + bag_to_set(USEDIN(base_component[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.MATERIAL_REMOVAL_LAMINATE_COMPONENT.DESIGN_INTENT')); END_REPEAT; RETURN(mrlc - mrlc_b); END_FUNCTION; -- get_mrlc_not_for_base
|