kaolin.io.utils¶
API¶
- exception kaolin.io.utils.NonHomogeneousMeshError(message)¶
Bases:
Exception
Raised when expecting a homogeneous mesh but a heterogenous mesh is encountered.
- message¶
- kaolin.io.utils.heterogeneous_mesh_handler_naive_homogenize(*args, **kwargs)¶
Same as
mesh_handler_naive_triangulate()
, see docs. .. deprecated:: 0.14.0
- kaolin.io.utils.heterogeneous_mesh_handler_skip(*args, **kwargs)¶
Skip heterogeneous meshes.
- kaolin.io.utils.mesh_handler_naive_triangulate(vertices, face_vertex_counts, *features, face_assignments=None)¶
Triangulate a list of faces containing polygons of varying number of edges using naive fan triangulation.
- Parameters
vertices (torch.FloatTensor) – Vertices with shape
(N, 3)
.face_vertex_counts (torch.LongTensor) – Number of vertices for each face with shape
(M)
forM
faces.features – Variable length features that need to be handled as 1D Tensor
(num_face_vertices)
, with one feature per face vertex. For example, faces as a tensor[face0_vertex0_id, face0_vertex1_id, face0_vertex2_id, face1_vertex0_id...]
or as UV indices:[face0_vertex0_uv_idx, face0_vertex1_uv_idx, ...]
.face_assignments (dict) – mapping from key to torch.LongTensor, where each value of the tensor corresponds to a face index. These indices will be expanded and rewritten to include triangulated face indices. Two modes are supported for face_assignments: 1) if 1D tensor, each face idx will be replaced with indices of faces it was split into 2) if 2D tensor, expects shape (K, 2), where [x, i] will be replaced with index of the first face [x, i] was split into, effectively supporting tensors containing (start,end].
- Returns
Homogeneous list of attributes with exactly same type and number as function inputs.
vertices (torch.Tensor): unchanged vertices of shape
(N, 3)
face_vertex_counts (torch.LongTensor): tensor of length
new_num_faces
filled with 3.features (torch.Tensor): of same type as input and shape
(new_num_faces, 3)
- face_assignments (dict): returned only if face_assignments is set, with each value containing
new face indices equivalent to the prior assignments (see two modes for
face_assignments
)
- Return type
(tuple)