| FUNCTION constraints_geometry_shell_based_surface_model (m : shell_based_surface_model) : BOOLEAN;
 
 LOCALEND_FUNCTION; -- constraints_geometry_shell_based_surface_modelresult : BOOLEAN := TRUE;
 END_LOCAL;
 
 REPEAT j := 1 TO SIZEOF(m.sbsm_boundary);
 IF (NOT ('TOPOLOGY_SCHEMA.OPEN_SHELL' IN
 TYPEOF(m.sbsm_boundary[j])) AND
 (NOT ('TOPOLOGY_SCHEMA.CLOSED_SHELL' IN
 TYPEOF(m.sbsm_boundary[j]))))
 THEN
 result := FALSE;
 RETURN(result);
 (* A surface model is composed OF OPEN_ AND CLOSED_SHELLs. *)
 END_IF;
 END_REPEAT;
 RETURN(result);
 
 |