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:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:14:12-04:00