(self, points)
| 106 | return sdf |
| 107 | |
| 108 | def query_tex(self, points): |
| 109 | d, fi, bc = pcu.closest_points_on_mesh(points, self.vs, self.fs) |
| 110 | tid_query = pcu.interpolate_barycentric_coords(self.fs, fi, bc, self.tex_ids.astype(np.float32)) |
| 111 | # fill nan with 0, FIXME: this could be a problem |
| 112 | tid_query[np.isnan(tid_query)] = 0 |
| 113 | tid_query = tid_query.astype(np.int32) |
| 114 | |
| 115 | uv_query = pcu.interpolate_barycentric_coords(self.fs, fi, bc, self.uvs) |
| 116 | uv_query[np.isnan(uv_query)] = 0 |
| 117 | |
| 118 | rgba_query = self.uvs_to_colors(uv_query, tid_query) |
| 119 | return rgba_query |
| 120 | |
| 121 | def uvs_to_colors(self, uvs, tex_ids): |
| 122 | unique_tex_ids = np.unique(tex_ids) |
no test coverage detected