warp.geometry.swept_volume_sdf#
- warp.geometry.swept_volume_sdf = <Function swept_volume_sdf(point: vec3f, mesh_ids: array(ndim=1, dtype=uint64), transforms: array(ndim=2, dtype=transformf), max_dist: float32, sign_mode: int32)>#
Evaluate the swept-volume pseudo signed distance at a single point.
Returns \(\min_m \min_s \mathrm{sdf}_m(X_{m,s}^{-1} p)\), the minimum over every mesh \(m\) and every sampled pose \(s\). The motion is rigid, so instead of transforming the geometry the query point is pushed back into each mesh’s rest frame, and one closest-point query per (mesh, sample) evaluates one pose. Callable from within your own kernels; not differentiable.
- Parameters:
point (vec3f) – Query point, in world space.
mesh_ids (warp.array[warp.uint64]) – Identifiers of the rest-pose meshes.
transforms (warp.array2d[warp.transformf]) – Per-mesh, per-sample rigid poses, mapping rest space to world space.
max_dist (float32) – Bound on the closest-point search. A query that finds nothing within it returns no sign either, so this returns
+max_distfor a point deep inside the union just as it does for one far outside; pass a bound that spans the region of interest, as the array-level entry points do.sign_mode (int32) – Inside/outside classification method, as the integer value of a
SweptVolumeSignModemember.
- Returns:
The pseudo signed distance at
point.- Return type: