parameters: (file_path, scene_path=None, with_materials=False, with_normals=False,
                  heterogeneous_mesh_handler=None, time=None)
return_statement: return mesh_return_type(*meshes_list[0])
docstring: r"""Import a single mesh from a USD file in an unbatched representation.
  
      Supports homogeneous meshes (meshes with consistent numbers of vertices per face).
      All sub-meshes found under the `scene_path` are flattened to a single mesh. The following
      interpolation types are supported for UV coordinates: `vertex`, `varying` and `faceVarying`.
      Returns an unbatched representation.
  
      Args:
          file_path (str): Path to usd file (`\*.usd`, `\*.usda`).
          scene_path (str, optional): Scene path within the USD file indicating which primitive to import.
              If not specified, the all meshes in the scene will be imported and flattened into a single mesh.
          with_materials (bool): if True, load materials. Default: False.
          with_normals (bool): if True, load vertex normals. Default: False.
          heterogeneous_mesh_handler (function, optional): Optional function to handle heterogeneous meshes.
              The function's input and output must be  ``vertices`` (torch.FloatTensor), ``faces`` (torch.LongTensor),
              ``uvs`` (torch.FloatTensor), ``face_uvs_idx`` (torch.LongTensor), and ``face_normals`` (torch.FloatTensor).
              If the function returns ``None``, the mesh will be skipped. If no function is specified,
              an error will be raised when attempting to import a heterogeneous mesh.
          time (convertible to float, optional): Positive integer indicating the time at which to retrieve parameters.
  
      Returns:
  
      namedtuple of:
          - **vertices** (torch.FloatTensor): of shape (num_vertices, 3)
          - **faces** (torch.LongTensor): of shape (num_faces, face_size)
          - **uvs** (torch.FloatTensor): of shape (num_uvs, 2)
          - **face_uvs_idx** (torch.LongTensor): of shape (num_faces, face_size)
          - **face_normals** (torch.FloatTensor): of shape (num_faces, face_size, 3)
          - **materials** (list of kaolin.io.materials.Material): Material properties (Not yet implemented)
  
      Example:
          >>> # Create a stage with some meshes
          >>> stage = export_mesh('./new_stage.usd', vertices=torch.rand(3, 3), faces=torch.tensor([[0, 1, 2]]),
          ... scene_path='/World/mesh1')
          >>> # Import meshes
          >>> mesh = import_mesh(file_path='./new_stage.usd', scene_path='/World/mesh1')
          >>> mesh.vertices.shape
          torch.Size([3, 3])
          >>> mesh.faces
          tensor([[0, 1, 2]])
docstring_summary: r"""Import a single mesh from a USD file in an unbatched representation.
docstring_tokens: r Import a single mesh from a USD file in an unbatched representation .
function: def import_mesh(file_path, scene_path=None, with_materials=False, with_normals=False,
                  heterogeneous_mesh_handler=None, time=None):
      r"""Import a single mesh from a USD file in an unbatched representation.
  
      Supports homogeneous meshes (meshes with consistent numbers of vertices per face).
      All sub-meshes found under the `scene_path` are flattened to a single mesh. The following
      interpolation types are supported for UV coordinates: `vertex`, `varying` and `faceVarying`.
      Returns an unbatched representation.
  
      Args:
          file_path (str): Path to usd file (`\*.usd`, `\*.usda`).
          scene_path (str, optional): Scene path within the USD file indicating which primitive to import.
              If not specified, the all meshes in the scene will be imported and flattened into a single mesh.
          with_materials (bool): if True, load materials. Default: False.
          with_normals (bool): if True, load vertex normals. Default: False.
          heterogeneous_mesh_handler (function, optional): Optional function to handle heterogeneous meshes.
              The function's input and output must be  ``vertices`` (torch.FloatTensor), ``faces`` (torch.LongTensor),
              ``uvs`` (torch.FloatTensor), ``face_uvs_idx`` (torch.LongTensor), and ``face_normals`` (torch.FloatTensor).
              If the function returns ``None``, the mesh will be skipped. If no function is specified,
              an error will be raised when attempting to import a heterogeneous mesh.
          time (convertible to float, optional): Positive integer indicating the time at which to retrieve parameters.
  
      Returns:
  
      namedtuple of:
          - **vertices** (torch.FloatTensor): of shape (num_vertices, 3)
          - **faces** (torch.LongTensor): of shape (num_faces, face_size)
          - **uvs** (torch.FloatTensor): of shape (num_uvs, 2)
          - **face_uvs_idx** (torch.LongTensor): of shape (num_faces, face_size)
          - **face_normals** (torch.FloatTensor): of shape (num_faces, face_size, 3)
          - **materials** (list of kaolin.io.materials.Material): Material properties (Not yet implemented)
  
      Example:
          >>> # Create a stage with some meshes
          >>> stage = export_mesh('./new_stage.usd', vertices=torch.rand(3, 3), faces=torch.tensor([[0, 1, 2]]),
          ... scene_path='/World/mesh1')
          >>> # Import meshes
          >>> mesh = import_mesh(file_path='./new_stage.usd', scene_path='/World/mesh1')
          >>> mesh.vertices.shape
          torch.Size([3, 3])
          >>> mesh.faces
          tensor([[0, 1, 2]])
      """
      # TODO  add arguments to selectively import UVs and normals
      if scene_path is None:
          scene_path = get_root(file_path)
      if time is None:
          time = Usd.TimeCode.Default()
      meshes_list = import_meshes(file_path, [scene_path],
                                  heterogeneous_mesh_handler=heterogeneous_mesh_handler, with_materials=with_materials,
                                  with_normals=with_normals, times=[time])
      return mesh_return_type(*meshes_list[0])
function_tokens: def import_mesh ( file_path , scene_path = None , with_materials = False , with_normals = False , heterogeneous_mesh_handler = None , time = None ) : # TODO  add arguments to selectively import UVs and normals if scene_path is None : scene_path = get_root ( file_path ) if time is None : time = Usd . TimeCode . Default ( ) meshes_list = import_meshes ( file_path , [ scene_path ] , heterogeneous_mesh_handler = heterogeneous_mesh_handler , with_materials = with_materials , with_normals = with_normals , times = [ time ] ) return mesh_return_type ( * meshes_list [ 0 ] )