FUNCTION acyclic_curve_replica
(rep : curve_replica, parent : curve) : BOOLEAN;
IF NOT (('GEOMETRY_SCHEMA.CURVE_REPLICA') IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; (* RETURN TRUE IF the parent is NOT OF TYPE curve_replica *) IF (parent :=: rep) THEN RETURN (FALSE); (* RETURN FALSE IF the parent is the same curve_replica, otherwise, call FUNCTION again WITH the parents own parent_curve. *) ELSE RETURN(acyclic_curve_replica(rep, parent\curve_replica.parent_curve)); END_IF; END_FUNCTION; -- acyclic_curve_replica
|