FUNCTION acyclic_solid_replica
(rep : solid_replica, parent : solid_model) : BOOLEAN;
IF NOT (('GEOMETRY_SCHEMA.SOLID_REPLICA') IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; (* RETURN TRUE IF the parent is NOT OF TYPE solid_replica. *) IF (parent :=: rep) THEN RETURN (FALSE); (* RETURN FALSE IF the parent is the same solid_replica, otherwise, call FUNCTION again WITH the parents own parent_solid. *) ELSE RETURN(acyclic_solid_replica(rep, parent\solid_replica.parent_solid)); END_IF; END_FUNCTION; -- acyclic_solid_replica
|