FUNCTION acyclic_occlusion_precedence
(relation : occlusion_precedence, set_of_lower : SET [0:?] OF hiding_or_blanking_select) : BOOLEAN;
LOCAL x : SET OF occlusion_precedence; local_set_of_lower : SET OF hiding_or_blanking_select; END_LOCAL; REPEAT i:=1 TO HIINDEX(set_of_lower); IF relation.higher_precedence :=: set_of_lower[i] THEN RETURN(FALSE); END_IF; END_REPEAT; x := bag_to_set (USEDIN ( relation.higher_precedence, 'PRESENTATION_APPEARANCE_SCHEMA.'+ 'OCCLUSION_PRECEDENCE.LOWER_PRECEDENCE')); local_set_of_lower := set_of_lower + relation.higher_precedence; IF SIZEOF (x) > 0 THEN REPEAT i:=1 TO HIINDEX (x); IF NOT acyclic_occlusion_precedence(x[i] , local_set_of_lower) THEN RETURN (FALSE); END_IF; END_REPEAT; END_IF; RETURN (TRUE); END_FUNCTION; -- acyclic_occlusion_precedence
|