RULE shape_aspect_for_border_corner_cutout_boundary_relationship

(* SCHEMA ship_structures_schema; *)
  RULE shape_aspect_for_border_corner_cutout_boundary_relationship FOR (
             shape_aspect, applied_group_assignment, group, 
             applied_classification_assignment);

    LOCAL
      gr_ass_set : BAG OF applied_group_assignment := [];
      violation  : LOGICAL := FALSE;
      t1_set     : SET OF shape_aspect := [];
      c_a_set    : SET OF applied_classification_assignment := [];
    END_LOCAL;
    c_a_set := QUERY ( i <* applied_classification_assignment | (i.
        assigned_class.name = 'border') );
    REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
      REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
        t1_set := t1_set + c_a_set[i].items[j];
      END_REPEAT;
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
      gr_ass_set := USEDIN(t1_set[i],
          'SHIP_STRUCTURES_SCHEMA.APPLIED_GROUP_ASSIGNMENT.ITEMS');
      violation := SIZEOF(QUERY ( aga <* gr_ass_set | ((aga.role.name = 
          'boundary index 2') AND ('corner cutout boundary relationship' IN
           which_class(aga.assigned_group))) )) <> 1;
    END_REPEAT;

  WHERE
    wr1: (NOT violation);

  END_RULE; -- shape_aspect_for_border_corner_cutout_boundary_relationship

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00