#[no_mangle]
pub extern "C" fn simplify_visvalingamp_ffi(
    coords: Array,
    precision: c_double
) -> Array
Expand description

FFI wrapper for topology-preserving visvalingam

Callers must pass two arguments:

  • a Struct with two fields:
    • data, a void pointer to an array of floating-point point coordinates: [[1.0, 2.0], ...]
    • len, the length of the array being passed. Its type must be size_t
  • a double-precision float for the epsilon

Implementations calling this function must call drop_float_array with the returned Array pointer, in order to free the memory it allocates.

Safety

This function is unsafe because it accesses a raw pointer which could contain arbitrary data