RULE ship_curve_with_spacing_position_has_class

(* SCHEMA ship_moulded_form_schema; *)
  RULE ship_curve_with_spacing_position_has_class FOR (
             applied_classification_assignment);

    LOCAL
      t3_set     : SET OF representation_item := [];
      violation  : LOGICAL := FALSE;
      t1_set     : SET OF compound_representation_item := [];
      c_a_set    : SET OF applied_classification_assignment := [];
      c_a_set2   : SET OF applied_classification_assignment := [];
      l_rep_item : list_representation_item;
      t2_set     : SET OF compound_representation_item := [];
    END_LOCAL;
    c_a_set := QUERY ( i <* applied_classification_assignment | (i.
        assigned_class.name = 'ship curve with spacing position') );
    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;
    c_a_set2 := QUERY ( i <* applied_classification_assignment | (i.
        assigned_class.name = 'spacing position') );
    REPEAT i := 1 TO HIINDEX(c_a_set2) BY 1;
      REPEAT j := 1 TO HIINDEX(c_a_set2[i].items) BY 1;
        t2_set := t2_set + c_a_set2[i].items[j];
      END_REPEAT;
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
      REPEAT j := 1 TO HIINDEX(t1_set[i].item_element) BY 1;
        l_rep_item := t1_set[i].item_element;
        t3_set := t3_set + l_rep_item[j];
      END_REPEAT;
      violation := SIZEOF(t3_set * t2_set) <> 1;
      t3_set := [];
    END_REPEAT;

  WHERE
    wr1: (NOT violation);

  END_RULE; -- ship_curve_with_spacing_position_has_class

[Top Level Definitions] [Exit]

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