# bpy_extras submodule (bpy_extras.mesh_utils)

`bpy_extras.mesh_utils.``mesh_linked_uv_islands`(mesh)

  Splits the mesh into connected polygons, use this for separating cubes from other mesh elements within 1 mesh datablock.

  Parameters: | mesh (`bpy.types.Mesh`) – the mesh used to group with.
  Returns: | lists of lists containing polygon indices
  Return type: | list

`bpy_extras.mesh_utils.``mesh_linked_triangles`(mesh)

  Splits the mesh into connected triangles, use this for separating cubes from other mesh elements within 1 mesh datablock.

  Parameters: | mesh (`bpy.types.Mesh`) – the mesh used to group with.
  Returns: | lists of lists containing triangles.
  Return type: | list

`bpy_extras.mesh_utils.``edge_face_count_dict`(mesh)

  Returns: | dict of edge keys with their value set to the number of faces using each edge.
  Return type: | dict

`bpy_extras.mesh_utils.``edge_face_count`(mesh)

  Returns: | list face users for each item in mesh.edges.
  Return type: | list

`bpy_extras.mesh_utils.``edge_loops_from_edges`(mesh, edges=None)

  Edge loops defined by edges

  Takes me.edges or a list of edges and returns the edge loops

  return a list of vertex indices. [ [1, 6, 7, 2], …]

  closed loops have matching start and end values.

`bpy_extras.mesh_utils.``ngon_tessellate`(from_data, indices, fix_loops=True, debug_print=True)

  Takes a polyline of indices (ngon) and returns a list of face index lists. Designed to be used for importers that need indices for an ngon to create from existing verts.

  Parameters: | from_data (list or `bpy.types.Mesh`) – either a mesh, or a list/tuple of vectors. indices (list) – a list of indices to use this list is the ordered closed polyline to fill, and can be a subset of the data given. fix_loops (bool) – If this is enabled polylines that use loops to make multiple polylines are delt with correctly.

`bpy_extras.mesh_utils.``triangle_random_points`(num_points, loop_triangles)

  Generates a list of random points over mesh loop triangles.

  Parameters: | num_points – the number of random points to generate on each triangle. loop_triangles (`bpy.types.MeshLoopTriangle`, sequence) – list of the triangles to generate points on.
  Returns: | list of random points over all triangles.
  Return type: | list