functionalize.functionalize
functionalize.functionalize(sdf)Compile an SDF to a pure function with free and fixed parameters.
Returns a curried function with signature
sdf_fn(free_params, fixed_params) -> (point -> distance)
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| sdf | The SDF to compile | required |
Returns
| Name | Type | Description |
|---|---|---|
| Callable | Callable | Curried function sdf_fn(free_params, fixed_params) -> (point -> distance) mapping parameter dicts to a callable point: Array (3,) -> distance: Array (). |
Example
radius = Scalar(value=1.0, free=True, name='radius')
sphere = Sphere(radius=radius)
sdf_fn = functionalize(sphere)
distance = sdf_fn({'sphere_0.radius': 2.0}, {})(jnp.array([0., 0., 0.]))