FUNCTION list_shell_loops
(s : shell) : LIST [0:?] OF loop;
LOCAL loops : LIST[0:?] OF loop := []; END_LOCAL; IF 'TOPOLOGY_SCHEMA.VERTEX_SHELL' IN TYPEOF(s) THEN loops := loops + s.vertex_shell_extent; END_IF; IF 'TOPOLOGY_SCHEMA.WIRE_SHELL' IN TYPEOF(s) THEN REPEAT i := 1 TO SIZEOF(s.wire_shell_extent); loops := loops + s.wire_shell_extent[i]; END_REPEAT; END_IF; IF ('TOPOLOGY_SCHEMA.OPEN_SHELL' IN TYPEOF(s)) OR ('TOPOLOGY_SCHEMA.CLOSED_SHELL' IN TYPEOF(s)) THEN REPEAT i := 1 TO SIZEOF(s.cfs_faces); loops := loops + list_face_loops(s.cfs_faces[i]); END_REPEAT; END_IF; RETURN(loops); END_FUNCTION; -- list_shell_loops
|