FUNCTION acyclic_point_replica
(rep : point_replica, parent : point) : BOOLEAN;
IF NOT (('GEOMETRY_SCHEMA.POINT_REPLICA') IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; (* RETURN TRUE IF the parent is NOT OF TYPE point_replica *) IF (parent :=: rep) THEN RETURN (FALSE); (* RETURN FALSE IF the parent is the same point_replica, otherwise, call FUNCTION again WITH the parents own parent_pt. *) ELSE RETURN(acyclic_point_replica(rep, parent\point_replica.parent_pt)); END_IF; END_FUNCTION; -- acyclic_point_replica
|