MCPcopy Create free account
hub / github.com/apple/ml-pointersect / load_mesh_filename

Function load_mesh_filename

pointersect/data/dataset_helper.py:308–345  ·  view source on GitHub ↗

Load mesh files as o3d meshes. Args: mesh_filenames: list of filenames Returns: list of o3d meshes

(
        mesh_filenames: T.Union[str, T.List[str]],
        mesh_scale: float = 1.,
        printout: bool = True,
)

Source from the content-addressed store, hash-verified

306
307
308def load_mesh_filename(
309 mesh_filenames: T.Union[str, T.List[str]],
310 mesh_scale: float = 1.,
311 printout: bool = True,
312) -> T.List[structures.Mesh]:
313 """
314 Load mesh files as o3d meshes.
315
316 Args:
317 mesh_filenames:
318 list of filenames
319 Returns:
320 list of o3d meshes
321 """
322
323 if isinstance(mesh_filenames, str): # str, list, or tuple
324 mesh_filenames = [mesh_filenames]
325
326 meshes = []
327 for i in range(len(mesh_filenames)):
328 mesh_filename = mesh_filenames[i]
329
330 # In default, clean_mesh is true, note that even bunny should be cleaned to multiply Kd and texture map
331 if printout:
332 print(f'Loading {i}/{len(mesh_filenames)} mesh: {mesh_filename}...', flush=True)
333
334 mesh = o3d.io.read_triangle_mesh(mesh_filename, enable_post_processing=True)
335 # preprocess the mesh after reading mesh, before building mesh dataset
336 mesh = mesh_utils.preprocess_mesh(mesh, scale=mesh_scale)
337
338 # convert o3d mesh to structures.mesh
339 mesh = structures.Mesh(
340 mesh=mesh,
341 scale=mesh_scale,
342 )
343 meshes.append(mesh)
344
345 return meshes
346
347
348def load_and_mix_mesh_filename(

Callers 1

get_datasetFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected