FUNCTION check_associative_shape_aspects

(* SCHEMA associative_draughting; *)
  FUNCTION check_associative_shape_aspects(
               sdr: shape_definition_representation
      ): BOOLEAN;
    LOCAL
      sr1 : SET OF representation;
      sr2 : SET OF representation;
      i   : INTEGER;
      j   : INTEGER;
      k   : INTEGER;
      dm  : SET OF representation;
      pv  : SET OF representation;
    END_LOCAL;
    IF SIZEOF(sdr.used_representation.items) <> 2 THEN
      RETURN(FALSE);
    END_IF;
    sr1 := using_representations(sdr.used_representation.items[1]);
    sr2 := using_representations(sdr.used_representation.items[2]);
    REPEAT i := 1 TO HIINDEX(sr1) BY 1;
      dm := representations_mapped_into(sr1[i]);
      REPEAT j := 1 TO HIINDEX(dm) BY 1;
        IF 'ASSOCIATIVE_DRAUGHTING.DRAUGHTING_MODEL' IN TYPEOF(dm[j])
             THEN
          IF dm[j] IN sr2 THEN
            RETURN(TRUE);
          END_IF;
          pv := representations_mapped_into(dm[j]);
          REPEAT k := 1 TO HIINDEX(pv) BY 1;
            IF 'ASSOCIATIVE_DRAUGHTING.PRESENTATION_VIEW' IN TYPEOF(pv[k])
                 THEN
              IF pv[k] IN sr2 THEN
                RETURN(TRUE);
              END_IF;
            END_IF;
          END_REPEAT;
        END_IF;
      END_REPEAT;
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(sr2) BY 1;
      dm := representations_mapped_into(sr2[i]);
      REPEAT j := 1 TO HIINDEX(dm) BY 1;
        IF 'ASSOCIATIVE_DRAUGHTING.DRAUGHTING_MODEL' IN TYPEOF(dm[j])
             THEN
          IF dm[j] IN sr1 THEN
            RETURN(TRUE);
          END_IF;
          pv := representations_mapped_into(dm[j]);
          REPEAT k := 1 TO HIINDEX(pv) BY 1;
            IF 'ASSOCIATIVE_DRAUGHTING.PRESENTATION_VIEW' IN TYPEOF(pv[k])
                 THEN
              IF pv[k] IN sr1 THEN
                RETURN(TRUE);
              END_IF;
            END_IF;
          END_REPEAT;
        END_IF;
      END_REPEAT;
    END_REPEAT;
    RETURN(FALSE);

  END_FUNCTION; -- check_associative_shape_aspects

Referenced By

Defintion check_associative_shape_aspects is references by the following definitions:
DefinitionType
 shape_aspect_associativity ENTITY


[Top Level Definitions] [Exit]

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