1
2
3
/* automatically generated by rust-bindgen */

pub const TS_MAX_NUM_KNOTS : u32 = 10000 ; pub const TS_DOMAIN_DEFAULT_MIN : f64 = 0.0 ; pub const TS_DOMAIN_DEFAULT_MAX : f64 = 1.0 ; pub const TS_KNOT_EPSILON : f64 = 0.0001 ; pub const TS_CONTROL_POINT_EPSILON : f64 = 0.000001 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ repr ( align ( 8 ) ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __clang_max_align_nonce2 : f64 , } # [ test ] fn bindgen_test_layout_max_align_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < max_align_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < max_align_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce2 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct json_object_t { _unused : [ u8 ; 0 ] , } pub type JSON_Object = json_object_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct json_array_t { _unused : [ u8 ; 0 ] , } pub type JSON_Array = json_array_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct json_value_t { _unused : [ u8 ; 0 ] , } pub type JSON_Value = json_value_t ; pub const json_value_type_JSONError : json_value_type = - 1 ; pub const json_value_type_JSONNull : json_value_type = 1 ; pub const json_value_type_JSONString : json_value_type = 2 ; pub const json_value_type_JSONNumber : json_value_type = 3 ; pub const json_value_type_JSONObject : json_value_type = 4 ; pub const json_value_type_JSONArray : json_value_type = 5 ; pub const json_value_type_JSONBoolean : json_value_type = 6 ; pub type json_value_type = i32 ; pub type JSON_Value_Type = :: std :: os :: raw :: c_int ; pub const json_result_t_JSONSuccess : json_result_t = 0 ; pub const json_result_t_JSONFailure : json_result_t = - 1 ; pub type json_result_t = i32 ; pub type JSON_Status = :: std :: os :: raw :: c_int ; pub type JSON_Malloc_Function = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : size_t ) -> * mut :: std :: os :: raw :: c_void > ; pub type JSON_Free_Function = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn json_set_allocation_functions ( malloc_fun : JSON_Malloc_Function , free_fun : JSON_Free_Function ) ; } extern "C" { pub fn json_parse_file ( filename : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_parse_file_with_comments ( filename : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_parse_string ( string : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_parse_string_with_comments ( string : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_serialization_size ( value : * const JSON_Value ) -> size_t ; } extern "C" { pub fn json_serialize_to_buffer ( value : * const JSON_Value , buf : * mut :: std :: os :: raw :: c_char , buf_size_in_bytes : size_t ) -> JSON_Status ; } extern "C" { pub fn json_serialize_to_file ( value : * const JSON_Value , filename : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_serialize_to_string ( value : * const JSON_Value ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_serialization_size_pretty ( value : * const JSON_Value ) -> size_t ; } extern "C" { pub fn json_serialize_to_buffer_pretty ( value : * const JSON_Value , buf : * mut :: std :: os :: raw :: c_char , buf_size_in_bytes : size_t ) -> JSON_Status ; } extern "C" { pub fn json_serialize_to_file_pretty ( value : * const JSON_Value , filename : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_serialize_to_string_pretty ( value : * const JSON_Value ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_free_serialized_string ( string : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn json_value_equals ( a : * const JSON_Value , b : * const JSON_Value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_validate ( schema : * const JSON_Value , value : * const JSON_Value ) -> JSON_Status ; } extern "C" { pub fn json_object_get_value ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_object_get_string ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_object_get_object ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Object ; } extern "C" { pub fn json_object_get_array ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Array ; } extern "C" { pub fn json_object_get_number ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn json_object_get_boolean ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_object_dotget_value ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_object_dotget_string ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_object_dotget_object ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Object ; } extern "C" { pub fn json_object_dotget_array ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Array ; } extern "C" { pub fn json_object_dotget_number ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> f64 ; } extern "C" { pub fn json_object_dotget_boolean ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_object_get_count ( object : * const JSON_Object ) -> size_t ; } extern "C" { pub fn json_object_get_name ( object : * const JSON_Object , index : size_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_object_get_value_at ( object : * const JSON_Object , index : size_t ) -> * mut JSON_Value ; } extern "C" { pub fn json_object_get_wrapping_value ( object : * const JSON_Object ) -> * mut JSON_Value ; } extern "C" { pub fn json_object_has_value ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_object_has_value_of_type ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char , type_ : JSON_Value_Type ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_object_dothas_value ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_object_dothas_value_of_type ( object : * const JSON_Object , name : * const :: std :: os :: raw :: c_char , type_ : JSON_Value_Type ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_object_set_value ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , value : * mut JSON_Value ) -> JSON_Status ; } extern "C" { pub fn json_object_set_string ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , string : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_object_set_number ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , number : f64 ) -> JSON_Status ; } extern "C" { pub fn json_object_set_boolean ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , boolean : :: std :: os :: raw :: c_int ) -> JSON_Status ; } extern "C" { pub fn json_object_set_null ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_object_dotset_value ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , value : * mut JSON_Value ) -> JSON_Status ; } extern "C" { pub fn json_object_dotset_string ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , string : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_object_dotset_number ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , number : f64 ) -> JSON_Status ; } extern "C" { pub fn json_object_dotset_boolean ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char , boolean : :: std :: os :: raw :: c_int ) -> JSON_Status ; } extern "C" { pub fn json_object_dotset_null ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_object_remove ( object : * mut JSON_Object , name : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_object_dotremove ( object : * mut JSON_Object , key : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_object_clear ( object : * mut JSON_Object ) -> JSON_Status ; } extern "C" { pub fn json_array_get_value ( array : * const JSON_Array , index : size_t ) -> * mut JSON_Value ; } extern "C" { pub fn json_array_get_string ( array : * const JSON_Array , index : size_t ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_array_get_object ( array : * const JSON_Array , index : size_t ) -> * mut JSON_Object ; } extern "C" { pub fn json_array_get_array ( array : * const JSON_Array , index : size_t ) -> * mut JSON_Array ; } extern "C" { pub fn json_array_get_number ( array : * const JSON_Array , index : size_t ) -> f64 ; } extern "C" { pub fn json_array_get_boolean ( array : * const JSON_Array , index : size_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_array_get_count ( array : * const JSON_Array ) -> size_t ; } extern "C" { pub fn json_array_get_wrapping_value ( array : * const JSON_Array ) -> * mut JSON_Value ; } extern "C" { pub fn json_array_remove ( array : * mut JSON_Array , i : size_t ) -> JSON_Status ; } extern "C" { pub fn json_array_replace_value ( array : * mut JSON_Array , i : size_t , value : * mut JSON_Value ) -> JSON_Status ; } extern "C" { pub fn json_array_replace_string ( array : * mut JSON_Array , i : size_t , string : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_array_replace_number ( array : * mut JSON_Array , i : size_t , number : f64 ) -> JSON_Status ; } extern "C" { pub fn json_array_replace_boolean ( array : * mut JSON_Array , i : size_t , boolean : :: std :: os :: raw :: c_int ) -> JSON_Status ; } extern "C" { pub fn json_array_replace_null ( array : * mut JSON_Array , i : size_t ) -> JSON_Status ; } extern "C" { pub fn json_array_clear ( array : * mut JSON_Array ) -> JSON_Status ; } extern "C" { pub fn json_array_append_value ( array : * mut JSON_Array , value : * mut JSON_Value ) -> JSON_Status ; } extern "C" { pub fn json_array_append_string ( array : * mut JSON_Array , string : * const :: std :: os :: raw :: c_char ) -> JSON_Status ; } extern "C" { pub fn json_array_append_number ( array : * mut JSON_Array , number : f64 ) -> JSON_Status ; } extern "C" { pub fn json_array_append_boolean ( array : * mut JSON_Array , boolean : :: std :: os :: raw :: c_int ) -> JSON_Status ; } extern "C" { pub fn json_array_append_null ( array : * mut JSON_Array ) -> JSON_Status ; } extern "C" { pub fn json_value_init_object ( ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_init_array ( ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_init_string ( string : * const :: std :: os :: raw :: c_char ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_init_number ( number : f64 ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_init_boolean ( boolean : :: std :: os :: raw :: c_int ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_init_null ( ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_deep_copy ( value : * const JSON_Value ) -> * mut JSON_Value ; } extern "C" { pub fn json_value_free ( value : * mut JSON_Value ) ; } extern "C" { pub fn json_value_get_type ( value : * const JSON_Value ) -> JSON_Value_Type ; } extern "C" { pub fn json_value_get_object ( value : * const JSON_Value ) -> * mut JSON_Object ; } extern "C" { pub fn json_value_get_array ( value : * const JSON_Value ) -> * mut JSON_Array ; } extern "C" { pub fn json_value_get_string ( value : * const JSON_Value ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_value_get_number ( value : * const JSON_Value ) -> f64 ; } extern "C" { pub fn json_value_get_boolean ( value : * const JSON_Value ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn json_value_get_parent ( value : * const JSON_Value ) -> * mut JSON_Value ; } extern "C" { pub fn json_type ( value : * const JSON_Value ) -> JSON_Value_Type ; } extern "C" { pub fn json_object ( value : * const JSON_Value ) -> * mut JSON_Object ; } extern "C" { pub fn json_array ( value : * const JSON_Value ) -> * mut JSON_Array ; } extern "C" { pub fn json_string ( value : * const JSON_Value ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn json_number ( value : * const JSON_Value ) -> f64 ; } extern "C" { pub fn json_boolean ( value : * const JSON_Value ) -> :: std :: os :: raw :: c_int ; } pub type tsReal = f64 ; pub const tsError_TS_SUCCESS : tsError = 0 ; pub const tsError_TS_MALLOC : tsError = - 1 ; pub const tsError_TS_DIM_ZERO : tsError = - 2 ; pub const tsError_TS_DEG_GE_NCTRLP : tsError = - 3 ; pub const tsError_TS_U_UNDEFINED : tsError = - 4 ; pub const tsError_TS_MULTIPLICITY : tsError = - 5 ; pub const tsError_TS_KNOTS_DECR : tsError = - 6 ; pub const tsError_TS_NUM_KNOTS : tsError = - 7 ; pub const tsError_TS_UNDERIVABLE : tsError = - 8 ; pub const tsError_TS_LCTRLP_DIM_MISMATCH : tsError = - 10 ; pub const tsError_TS_IO_ERROR : tsError = - 11 ; pub const tsError_TS_PARSE_ERROR : tsError = - 12 ; pub const tsError_TS_INDEX_ERROR : tsError = - 13 ; pub const tsError_TS_NO_RESULT : tsError = - 14 ; pub const tsError_TS_NUM_POINTS : tsError = - 15 ; pub type tsError = i32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tsStatus { pub code : tsError , pub message : [ :: std :: os :: raw :: c_char ; 100usize ] , } # [ test ] fn bindgen_test_layout_tsStatus ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tsStatus > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tsStatus ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tsStatus > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tsStatus ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < tsStatus > ( ) ) ) . code as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( tsStatus ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < tsStatus > ( ) ) ) . message as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( tsStatus ) , "::" , stringify ! ( message ) ) ) ; } pub const tsBSplineType_TS_OPENED : tsBSplineType = 0 ; pub const tsBSplineType_TS_CLAMPED : tsBSplineType = 1 ; pub const tsBSplineType_TS_BEZIERS : tsBSplineType = 2 ; pub type tsBSplineType = u32 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tsBSpline { pub pImpl : * mut tsBSplineImpl , } # [ test ] fn bindgen_test_layout_tsBSpline ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tsBSpline > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( tsBSpline ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tsBSpline > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tsBSpline ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < tsBSpline > ( ) ) ) . pImpl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( tsBSpline ) , "::" , stringify ! ( pImpl ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tsDeBoorNet { pub pImpl : * mut tsDeBoorNetImpl , } # [ test ] fn bindgen_test_layout_tsDeBoorNet ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tsDeBoorNet > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( tsDeBoorNet ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tsDeBoorNet > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tsDeBoorNet ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < tsDeBoorNet > ( ) ) ) . pImpl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( tsDeBoorNet ) , "::" , stringify ! ( pImpl ) ) ) ; } extern "C" { pub fn ts_bspline_degree ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_set_degree ( spline : * mut tsBSpline , deg : size_t , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_order ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_set_order ( spline : * mut tsBSpline , order : size_t , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_dimension ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_set_dimension ( spline : * mut tsBSpline , dim : size_t , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_len_control_points ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_num_control_points ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_sof_control_points ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_control_points ( spline : * const tsBSpline , ctrlp : * mut * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_control_point_at ( spline : * const tsBSpline , index : size_t , ctrlp : * mut * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_set_control_points ( spline : * mut tsBSpline , ctrlp : * const tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_set_control_point_at ( spline : * mut tsBSpline , index : size_t , ctrlp : * const tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_num_knots ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_sof_knots ( spline : * const tsBSpline ) -> size_t ; } extern "C" { pub fn ts_bspline_knots ( spline : * const tsBSpline , knots : * mut * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_knot_at ( spline : * const tsBSpline , index : size_t , knot : * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_set_knots ( spline : * mut tsBSpline , knots : * const tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_set_knot_at ( spline : * mut tsBSpline , index : size_t , knot : tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_deboornet_knot ( net : * const tsDeBoorNet ) -> tsReal ; } extern "C" { pub fn ts_deboornet_index ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_multiplicity ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_num_insertions ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_dimension ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_len_points ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_num_points ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_sof_points ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_points ( net : * const tsDeBoorNet , points : * mut * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_deboornet_len_result ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_num_result ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_sof_result ( net : * const tsDeBoorNet ) -> size_t ; } extern "C" { pub fn ts_deboornet_result ( net : * const tsDeBoorNet , result : * mut * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_init ( ) -> tsBSpline ; } extern "C" { pub fn ts_bspline_new ( num_control_points : size_t , dimension : size_t , degree : size_t , type_ : tsBSplineType , spline : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_copy ( src : * const tsBSpline , dest : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_move ( src : * mut tsBSpline , dest : * mut tsBSpline ) ; } extern "C" { pub fn ts_bspline_free ( spline : * mut tsBSpline ) ; } extern "C" { pub fn ts_deboornet_init ( ) -> tsDeBoorNet ; } extern "C" { pub fn ts_deboornet_copy ( src : * const tsDeBoorNet , dest : * mut tsDeBoorNet , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_deboornet_move ( src : * mut tsDeBoorNet , dest : * mut tsDeBoorNet ) ; } extern "C" { pub fn ts_deboornet_free ( net : * mut tsDeBoorNet ) ; } extern "C" { pub fn ts_bspline_interpolate_cubic_natural ( points : * const tsReal , num_points : size_t , dimension : size_t , spline : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_interpolate_catmull_rom ( points : * const tsReal , num_points : size_t , dimension : size_t , alpha : tsReal , first : * const tsReal , last : * const tsReal , epsilon : tsReal , spline : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_eval ( spline : * const tsBSpline , u : tsReal , net : * mut tsDeBoorNet , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_eval_all ( spline : * const tsBSpline , us : * const tsReal , num : size_t , points : * mut * mut tsReal , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_sample ( spline : * const tsBSpline , num : size_t , points : * mut * mut tsReal , actual_num : * mut size_t , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_bisect ( spline : * const tsBSpline , value : tsReal , epsilon : tsReal , persnickety : :: std :: os :: raw :: c_int , index : size_t , ascending : :: std :: os :: raw :: c_int , max_iter : size_t , net : * mut tsDeBoorNet , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_domain ( spline : * const tsBSpline , min : * mut tsReal , max : * mut tsReal ) ; } extern "C" { pub fn ts_bspline_is_closed ( spline : * const tsBSpline , epsilon : tsReal , closed : * mut :: std :: os :: raw :: c_int , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_derive ( spline : * const tsBSpline , n : size_t , epsilon : tsReal , derivative : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_insert_knot ( spline : * const tsBSpline , u : tsReal , num : size_t , result : * mut tsBSpline , k : * mut size_t , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_split ( spline : * const tsBSpline , u : tsReal , split : * mut tsBSpline , k : * mut size_t , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_tension ( spline : * const tsBSpline , tension : tsReal , out : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_to_beziers ( spline : * const tsBSpline , beziers : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_to_json ( spline : * const tsBSpline , _json_ : * mut * mut :: std :: os :: raw :: c_char , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_from_json ( json : * const :: std :: os :: raw :: c_char , spline : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_save ( spline : * const tsBSpline , path : * const :: std :: os :: raw :: c_char , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_bspline_load ( path : * const :: std :: os :: raw :: c_char , spline : * mut tsBSpline , status : * mut tsStatus ) -> tsError ; } extern "C" { pub fn ts_knots_equal ( x : tsReal , y : tsReal ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ts_arr_fill ( arr : * mut tsReal , num : size_t , val : tsReal ) ; } extern "C" { pub fn ts_distance ( x : * const tsReal , y : * const tsReal , dimension : size_t ) -> tsReal ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tsBSplineImpl { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tsDeBoorNetImpl { pub _address : u8 , }