FUNCTION unique_in_shape_aspect
(item : representative_shape_representation) : BOOLEAN;
LOCAL local_s_a: SET OF shape_aspect := []; local_s_r: SET OF shape_representation := []; i : INTEGER; j : INTEGER; END_LOCAL; -- find shape_aspects represented BY the input -- representative_shape_representation local_s_a := using_shape_aspect_of_shape_representation (item); -- ERROR IF (SIZEOF (local_s_a) <> 1) THEN RETURN (FALSE); ELSE -- find shape_representation representing the shape_aspect REPEAT i := 1 TO HIINDEX (local_s_a); local_s_r := find_shape_representation_of_shape_aspect (local_s_a[i]); REPEAT j := 1 TO HIINDEX (local_s_r); IF ((' REPRESENTATIVE_SHAPE_REPRESENTATION ' IN TYPEOF (local_s_r[j])) AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); END_IF; END_REPEAT; END_REPEAT; END_IF; RETURN (TRUE); END_FUNCTION; -- unique_in_shape_aspect
|