FUNCTION acyclic_set_replica
(rep : geometric_set_replica, parent : geometric_set) : BOOLEAN;
IF NOT (('GEOMETRY_SCHEMA.GEOMETRIC_SET_REPLICA') IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; (* RETURN TRUE IF the parent is NOT OF TYPE geometric_set_replica *) IF (parent :=: rep) THEN RETURN (FALSE); (* RETURN FALSE IF the parent is the same geometric_set_replica, otherwise, call FUNCTION again WITH the parents own parent_set. *) ELSE RETURN(acyclic_set_replica(rep, parent\geometric_set_replica.parent_set)); END_IF; END_FUNCTION; -- acyclic_set_replica
|