"""Cython wrapper for ``curve.f90``."""
from libcpp cimport bool as bool_t
cdef extern from "bezier/curve.h":
void evaluate_curve_barycentric "BEZ_evaluate_curve_barycentric" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* num_vals, const double* lambda1,
const double* lambda2, double* evaluated)
void evaluate_multi "BEZ_evaluate_multi" (
const int* num_nodes, const int* dimension,
const double* nodes, const int* num_vals, const double* s_vals,
double* evaluated)
void specialize_curve "BEZ_specialize_curve" (
const int* num_nodes, const int* dimension,
const double* nodes, const double* start, const double* end,
double* new_nodes)
void evaluate_hodograph "BEZ_evaluate_hodograph" (
const double* s, const int* num_nodes,
const int* dimension, const double* nodes, double* hodograph)
void subdivide_nodes_curve "BEZ_subdivide_nodes_curve" (
const int* num_nodes, const int* dimension,
const double* nodes, double* left_nodes, double* right_nodes)
void newton_refine_curve "BEZ_newton_refine_curve" (
const int* num_nodes, const int* dimension,
const double* nodes, const double* point, const double* s,
double* updated_s)
void locate_point_curve "BEZ_locate_point_curve" (
const int* num_nodes, const int* dimension,
const double* nodes, const double* point, double* s_approx)
void elevate_nodes_curve "BEZ_elevate_nodes_curve" (
const int* num_nodes, const int* dimension,
const double* nodes, double* elevated)
void get_curvature "BEZ_get_curvature" (
const int* num_nodes, const double* nodes,
const double* tangent_vec, const double* s, double* curvature)
void reduce_pseudo_inverse "BEZ_reduce_pseudo_inverse" (
const int* num_nodes, const int* dimension,
const double* nodes, double* reduced, bool_t* not_implemented)
void full_reduce "BEZ_full_reduce" (
const int* num_nodes, const int* dimension,
const double* nodes, int* num_reduced_nodes, double* reduced,
bool_t* not_implemented)
void compute_length "BEZ_compute_length" (
const int* num_nodes, const int* dimension,
const double* nodes, double* length, int* error_val)