# 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 seperating 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_tessfaces`(mesh)

  Splits the mesh into connected faces, use this for seperating 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 faces.
  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_tessfaces`(mesh, tessfaces=None, seams=())

  Edge loops defined by faces

  Takes me.tessfaces or a list of faces and returns the edge loops These edge loops are the edges that sit between quads, so they dont touch 1 quad, note: not connected will make 2 edge loops, both only containing 2 edges.

  return a list of edge key lists [[(0, 1), (4, 8), (3, 8)], ...]

  Parameters: | mesh (`bpy.types.Mesh`) – the mesh used to get edge loops from. tessfaces (`bpy.types.MeshTessFace`, sequence or or NoneType) – optional face list to only use some of the meshes faces.
  Returns: | return a list of edge vertex index lists.
  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)

  Takes a polyline of indices (fgon) and returns a list of face index lists. Designed to be used for importers that need indices for an fgon 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.``face_random_points`(num_points, tessfaces)

  Generates a list of random points over mesh tessfaces.

  Parameters: | num_points – the number of random points to generate on each face. tessfaces (`bpy.types.MeshTessFace`, sequence) – list of the faces to generate points on.
  Returns: | list of random points over all faces.
  Return type: | list