libsxbp  v0.27
Experimental generation of 2D spiralling lines based on input binary data.
solve.h
Go to the documentation of this file.
1 /*
2  * This source file forms part of libsxbp, a library which generates
3  * experimental 2D spiral-like shapes based on input binary data.
4  */
5 
23 #ifndef SAXBOPHONE_SAXBOSPIRAL_SOLVE_H
24 #define SAXBOPHONE_SAXBOSPIRAL_SOLVE_H
25 
26 #include <stdint.h>
27 
28 #include "saxbospiral.h"
29 
30 
31 #ifdef __cplusplus
32 extern "C"{
33 #endif
34 
58  sxbp_spiral_t* spiral, uint32_t index, sxbp_length_t length,
59  sxbp_length_t perfection_threshold
60 );
61 
117  sxbp_spiral_t* spiral, sxbp_length_t perfection_threshold, uint32_t max_line,
118  void(* progress_callback)(
119  sxbp_spiral_t* spiral, uint32_t latest_line, uint32_t target_line,
120  void* progress_callback_user_data
121  ),
122  void* progress_callback_user_data
123 );
124 
125 #ifdef __cplusplus
126 } // extern "C"
127 #endif
128 
129 // end of header file
130 #endif
This compilation unit provides most of the data types used by the library, as well as defining some l...
uint32_t sxbp_length_t
Type for representing the length of a line segment of a spiral.
Definition: saxbospiral.h:124
sxbp_status_t sxbp_plot_spiral(sxbp_spiral_t *spiral, sxbp_length_t perfection_threshold, uint32_t max_line, void(*progress_callback)(sxbp_spiral_t *spiral, uint32_t latest_line, uint32_t target_line, void *progress_callback_user_data), void *progress_callback_user_data)
Solve the given incomplete spiral such that each line has a length of at least 1 unit.
Definition: solve.c:297
sxbp_status_t sxbp_resize_spiral(sxbp_spiral_t *spiral, uint32_t index, sxbp_length_t length, sxbp_length_t perfection_threshold)
Attempt to set a given line of a spiral to a given length.
Definition: solve.c:232
Struct type representing a Spiral figure, in any state of completion.
Definition: saxbospiral.h:189
sxbp_status_t
Represents the success or failure status of an executed function.
Definition: saxbospiral.h:87