60
50
<p>The curve type models a linear, spline or gamma curve.
61
51
<a href="#details">More...</a></p>
62
52
<table class="memberdecls">
63
<tr><td colspan="2"><h2><a name="nested-classes"></a>
53
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
64
54
Data Structures</h2></td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a></td></tr>
66
<tr><td class="mdescLeft"> </td><td class="mdescRight">Point (x,y) for piecewise curve. <a href="structstp__curve__point__t.html#details">More...</a><br/></td></tr>
67
<tr><td colspan="2"><h2><a name="typedef-members"></a>
55
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a></td></tr>
56
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Point (x,y) for piecewise curve. <a href="structstp__curve__point__t.html#details">More...</a><br/></td></tr>
57
</table><table class="memberdecls">
58
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
68
59
Typedefs</h2></td></tr>
69
<tr><td class="memItemLeft" align="right" valign="top">typedef struct stp_curve </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td></tr>
70
<tr><td class="mdescLeft"> </td><td class="mdescRight">The curve opaque data type. <a href="#ga375a2b23705fb0698ae1d823243c8524"></a><br/></td></tr>
71
<tr><td colspan="2"><h2><a name="enum-members"></a>
60
<tr class="memitem:ga375a2b23705fb0698ae1d823243c8524"><td class="memItemLeft" align="right" valign="top">typedef struct stp_curve </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td></tr>
61
<tr class="memdesc:ga375a2b23705fb0698ae1d823243c8524"><td class="mdescLeft"> </td><td class="mdescRight">The curve opaque data type. <a href="#ga375a2b23705fb0698ae1d823243c8524"></a><br/></td></tr>
62
</table><table class="memberdecls">
63
<tr class="heading"><td colspan="2"><h2><a name="enum-members"></a>
72
64
Enumerations</h2></td></tr>
73
<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> { <a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3">STP_CURVE_TYPE_LINEAR</a>,
65
<tr class="memitem:ga982f8191c84b049cc3ad3cee1558fc23"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> { <a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3">STP_CURVE_TYPE_LINEAR</a>,
74
66
<a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23afb1ffdc3754f428d8e3a2124e014ff77">STP_CURVE_TYPE_SPLINE</a>
76
<tr><td class="mdescLeft"> </td><td class="mdescRight">Curve types. <a href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">More...</a><br/></td></tr>
77
<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> { <a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a">STP_CURVE_WRAP_NONE</a>,
68
<tr class="memdesc:ga982f8191c84b049cc3ad3cee1558fc23"><td class="mdescLeft"> </td><td class="mdescRight">Curve types. <a href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">More...</a><br/></td></tr>
69
<tr class="memitem:ga3ae3af552b490b0ca8b02e442ac9547a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> { <a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a">STP_CURVE_WRAP_NONE</a>,
78
70
<a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aac0361aebddfabfb263dc0205a61f6fbd">STP_CURVE_WRAP_AROUND</a>
80
<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapping mode. <a href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">More...</a><br/></td></tr>
81
<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> { <a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3">STP_CURVE_COMPOSE_ADD</a>,
72
<tr class="memdesc:ga3ae3af552b490b0ca8b02e442ac9547a"><td class="mdescLeft"> </td><td class="mdescRight">Wrapping mode. <a href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">More...</a><br/></td></tr>
73
<tr class="memitem:ga7eddbee28cb1f3c76a19408b86ea142e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> { <a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3">STP_CURVE_COMPOSE_ADD</a>,
82
74
<a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142ead3bd2cdb63498d5d22686e79e2c0ed95">STP_CURVE_COMPOSE_MULTIPLY</a>,
83
75
<a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142ea8de151149fdfd4fcca78826e6352246a">STP_CURVE_COMPOSE_EXPONENTIATE</a>
85
<tr><td class="mdescLeft"> </td><td class="mdescRight">Composition types. <a href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">More...</a><br/></td></tr>
86
<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> { <a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3">STP_CURVE_BOUNDS_RESCALE</a>,
77
<tr class="memdesc:ga7eddbee28cb1f3c76a19408b86ea142e"><td class="mdescLeft"> </td><td class="mdescRight">Composition types. <a href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">More...</a><br/></td></tr>
78
<tr class="memitem:ga86d146e483ca1902f973d574f542b85f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> { <a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3">STP_CURVE_BOUNDS_RESCALE</a>,
87
79
<a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85faec9e6673edac9d34e3aad376fa711aa5">STP_CURVE_BOUNDS_CLIP</a>,
88
80
<a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fad699d675d5df223055388cd83d0b362b">STP_CURVE_BOUNDS_ERROR</a>
90
<tr><td class="mdescLeft"> </td><td class="mdescRight">Behaviour when curve exceeds bounds. <a href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">More...</a><br/></td></tr>
91
<tr><td colspan="2"><h2><a name="func-members"></a>
82
<tr class="memdesc:ga86d146e483ca1902f973d574f542b85f"><td class="mdescLeft"> </td><td class="mdescRight">Behaviour when curve exceeds bounds. <a href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">More...</a><br/></td></tr>
83
</table><table class="memberdecls">
84
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
92
85
Functions</h2></td></tr>
93
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> (<a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> wrap)</td></tr>
94
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new curve. <a href="#ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><br/></td></tr>
95
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
96
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy and allocate a curve. <a href="#ga972ed591394396e0c66e928a0695b3bf"></a><br/></td></tr>
97
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacd7861bf1c9d61ac4ec87844a15ab9d3">stp_curve_copy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
98
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy a curve. <a href="#gacd7861bf1c9d61ac4ec87844a15ab9d3"></a><br/></td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
100
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse and allocate a curve. <a href="#ga8c2aed234d3e4ddc4c239801be17bb73"></a><br/></td></tr>
101
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3416157017287eae136fb928802be234">stp_curve_reverse</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
102
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse a curve. <a href="#ga3416157017287eae136fb928802be234"></a><br/></td></tr>
103
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
104
<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an curve. <a href="#ga4294b85e848fe421496469e2406ef380"></a><br/></td></tr>
105
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae32fb850963b8694d3739c0ed8475f75">stp_curve_set_bounds</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double low, double high)</td></tr>
106
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the lower and upper bounds on a curve. <a href="#gae32fb850963b8694d3739c0ed8475f75"></a><br/></td></tr>
107
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga63c3386fbfd75da9fe985673bf7b1ca3">stp_curve_get_bounds</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
108
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the lower and upper bounds on a curve. <a href="#ga63c3386fbfd75da9fe985673bf7b1ca3"></a><br/></td></tr>
109
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga859020827897bac0f4671322ec027dc4">stp_curve_get_wrap</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
110
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the wrapping mode. <a href="#ga859020827897bac0f4671322ec027dc4"></a><br/></td></tr>
111
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga29b022a3055afe0b48d1f2736ff2f4da">stp_curve_is_piecewise</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
112
<tr><td class="mdescLeft"> </td><td class="mdescRight">Determine whether the curve is piecewise. <a href="#ga29b022a3055afe0b48d1f2736ff2f4da"></a><br/></td></tr>
113
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8e51731b9385556747744a0d4f43fb">stp_curve_get_range</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
114
<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga766ff02b29b976372779f719076ad017">stp_curve_count_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
115
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of allocated points in the curve. <a href="#ga766ff02b29b976372779f719076ad017"></a><br/></td></tr>
116
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga82890cef78f5861a88c5789c33693423">stp_curve_set_interpolation_type</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, <a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> itype)</td></tr>
117
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the curve interpolation type. <a href="#ga82890cef78f5861a88c5789c33693423"></a><br/></td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga42c98a6a6d2512516738b6df9367510e">stp_curve_get_interpolation_type</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
119
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the curve interpolation type. <a href="#ga42c98a6a6d2512516738b6df9367510e"></a><br/></td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga81bceb4cb991cef1cda2298cf7bb9f15">stp_curve_set_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const double *data)</td></tr>
121
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#ga81bceb4cb991cef1cda2298cf7bb9f15"></a><br/></td></tr>
122
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gace09cab4e6ae3d55f75aacae3689e8e6">stp_curve_set_data_points</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *data)</td></tr>
123
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#gace09cab4e6ae3d55f75aacae3689e8e6"></a><br/></td></tr>
124
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gabd7a39289471607311141c7fc3bbb415">stp_curve_set_float_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const float *data)</td></tr>
125
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from float values. <a href="#gabd7a39289471607311141c7fc3bbb415"></a><br/></td></tr>
126
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae6a435a21a5c4b5e582d42095a7b06fc">stp_curve_set_long_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const long *data)</td></tr>
127
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from long values. <a href="#gae6a435a21a5c4b5e582d42095a7b06fc"></a><br/></td></tr>
128
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga723173297f5b67af937205c7d74ac353">stp_curve_set_ulong_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned long *data)</td></tr>
129
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned long values. <a href="#ga723173297f5b67af937205c7d74ac353"></a><br/></td></tr>
130
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga31e76843f4d2f207701755b58766a670">stp_curve_set_int_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const int *data)</td></tr>
131
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from integer values. <a href="#ga31e76843f4d2f207701755b58766a670"></a><br/></td></tr>
132
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ee80f8e4f33691a78b3ad8c3fd7c34f">stp_curve_set_uint_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned int *data)</td></tr>
133
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned integer values. <a href="#ga3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><br/></td></tr>
134
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2fa5222aab07e85f215e389734b6dbea">stp_curve_set_short_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const short *data)</td></tr>
135
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from short values. <a href="#ga2fa5222aab07e85f215e389734b6dbea"></a><br/></td></tr>
136
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0af395eefa7bfe0d19acc1acbaeefe48">stp_curve_set_ushort_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned short *data)</td></tr>
137
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned short values. <a href="#ga0af395eefa7bfe0d19acc1acbaeefe48"></a><br/></td></tr>
138
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga5cbf7c4b6ad96ecb35fc06f46c0319f0">stp_curve_get_subrange</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t start, size_t count)</td></tr>
139
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a curve containing a subrange of data. <a href="#ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><br/></td></tr>
140
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga73dfcc4c95734449965227e21deb3037">stp_curve_set_subrange</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *range, size_t start)</td></tr>
141
<tr><td class="memItemLeft" align="right" valign="top">const double * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab2208f56694e47e4300d10e057f59ee8">stp_curve_get_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
142
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data. <a href="#gab2208f56694e47e4300d10e057f59ee8"></a><br/></td></tr>
143
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga79e0d6afa3573917c756af64b56a0d82">stp_curve_get_data_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
144
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data as points. <a href="#ga79e0d6afa3573917c756af64b56a0d82"></a><br/></td></tr>
145
<tr><td class="memItemLeft" align="right" valign="top">const float * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga251f105cb5f2b126ea02b7908f717c18">stp_curve_get_float_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
146
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as floats. <a href="#ga251f105cb5f2b126ea02b7908f717c18"></a><br/></td></tr>
147
<tr><td class="memItemLeft" align="right" valign="top">const long * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf59bd38c9dfc7beb08a283dc9e400bf2">stp_curve_get_long_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
148
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as longs. <a href="#gaf59bd38c9dfc7beb08a283dc9e400bf2"></a><br/></td></tr>
149
<tr><td class="memItemLeft" align="right" valign="top">const unsigned long * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga24a862eda4cdbb626f51aeb7d8ae9a50">stp_curve_get_ulong_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
150
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned longs. <a href="#ga24a862eda4cdbb626f51aeb7d8ae9a50"></a><br/></td></tr>
151
<tr><td class="memItemLeft" align="right" valign="top">const int * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6de80e81b64262e0051441f697ae4de4">stp_curve_get_int_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
152
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as integers. <a href="#ga6de80e81b64262e0051441f697ae4de4"></a><br/></td></tr>
153
<tr><td class="memItemLeft" align="right" valign="top">const unsigned int * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga19b3160a57dc6959fe08c631c7206a8a">stp_curve_get_uint_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
154
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned integers. <a href="#ga19b3160a57dc6959fe08c631c7206a8a"></a><br/></td></tr>
155
<tr><td class="memItemLeft" align="right" valign="top">const short * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87c5d1904efa58be8a21ab6b2c41d0b9">stp_curve_get_short_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
156
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as shorts. <a href="#ga87c5d1904efa58be8a21ab6b2c41d0b9"></a><br/></td></tr>
157
<tr><td class="memItemLeft" align="right" valign="top">const unsigned short * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaa02125af6b9c192e34985851370391b8">stp_curve_get_ushort_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
158
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned shorts. <a href="#gaa02125af6b9c192e34985851370391b8"></a><br/></td></tr>
159
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gade323594e84d4380c88ecf122a5a4da8">stp_curve_get_sequence</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
160
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the underlying stp_sequence_t data structure which stp_curve_t is derived from. <a href="#gade323594e84d4380c88ecf122a5a4da8"></a><br/></td></tr>
161
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8a2b9b21f97f32faacb99a6125e152">stp_curve_set_gamma</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double f_gamma)</td></tr>
162
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the gamma of a curve. <a href="#gacb8a2b9b21f97f32faacb99a6125e152"></a><br/></td></tr>
163
<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0420a6cfa87aa96e5c9a56142aa0178d">stp_curve_get_gamma</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
164
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the gamma value of the curve. <a href="#ga0420a6cfa87aa96e5c9a56142aa0178d"></a><br/></td></tr>
165
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2d3b8372bde3fce699a3b7bb3c9d8582">stp_curve_set_point</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double data)</td></tr>
166
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a point along the curve. <a href="#ga2d3b8372bde3fce699a3b7bb3c9d8582"></a><br/></td></tr>
167
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga569aae57147ed7681f23e0e60bd8af35">stp_curve_get_point</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double *data)</td></tr>
168
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a point along the curve. <a href="#ga569aae57147ed7681f23e0e60bd8af35"></a><br/></td></tr>
169
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab33642ee6c49334f379a4dc185ecd355">stp_curve_interpolate_value</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double where, double *result)</td></tr>
170
<tr><td class="mdescLeft"> </td><td class="mdescRight">Interpolate a point along the curve. <a href="#gab33642ee6c49334f379a4dc185ecd355"></a><br/></td></tr>
171
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87298cf562468cbcf2c1f76a0ab80b62">stp_curve_resample</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t points)</td></tr>
172
<tr><td class="mdescLeft"> </td><td class="mdescRight">Resample a curve (change the number of points). <a href="#ga87298cf562468cbcf2c1f76a0ab80b62"></a><br/></td></tr>
173
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaad611b3ddbd667ec204fa7b42f8d7546">stp_curve_rescale</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double scale, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, <a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> bounds_mode)</td></tr>
174
<tr><td class="mdescLeft"> </td><td class="mdescRight">Rescale a curve (multiply all points by a scaling constant). <a href="#gaad611b3ddbd667ec204fa7b42f8d7546"></a><br/></td></tr>
175
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gac12af55cf0eb2f76db967886f8996313">stp_curve_write</a> (FILE *file, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
176
<tr><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a file. <a href="#gac12af55cf0eb2f76db967886f8996313"></a><br/></td></tr>
177
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf2f0da590278ff74af1eccb0aa0c7169">stp_curve_write_string</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
178
<tr><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a string. <a href="#gaf2f0da590278ff74af1eccb0aa0c7169"></a><br/></td></tr>
179
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> (FILE *fp)</td></tr>
180
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#ga478a24e44a3ce345f7207cf7ded12e37"></a><br/></td></tr>
181
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gad96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> (const char *file)</td></tr>
182
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><br/></td></tr>
183
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> (const char *string)</td></tr>
184
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a string. <a href="#gab8c0df217306a6e0597f058efbfaca82"></a><br/></td></tr>
185
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga55c83a9139fc1b06b90e983d7c1ceff7">stp_curve_compose</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> **retval, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *a, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *b, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, int points)</td></tr>
186
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compose two curves, creating a third curve. <a href="#ga55c83a9139fc1b06b90e983d7c1ceff7"></a><br/></td></tr>
86
<tr class="memitem:ga6b3640f0e25bd9d38e46bdc1b2ee58a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> (<a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> wrap)</td></tr>
87
<tr class="memdesc:ga6b3640f0e25bd9d38e46bdc1b2ee58a4"><td class="mdescLeft"> </td><td class="mdescRight">Create a new curve. <a href="#ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><br/></td></tr>
88
<tr class="memitem:ga972ed591394396e0c66e928a0695b3bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
89
<tr class="memdesc:ga972ed591394396e0c66e928a0695b3bf"><td class="mdescLeft"> </td><td class="mdescRight">Copy and allocate a curve. <a href="#ga972ed591394396e0c66e928a0695b3bf"></a><br/></td></tr>
90
<tr class="memitem:gacd7861bf1c9d61ac4ec87844a15ab9d3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacd7861bf1c9d61ac4ec87844a15ab9d3">stp_curve_copy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
91
<tr class="memdesc:gacd7861bf1c9d61ac4ec87844a15ab9d3"><td class="mdescLeft"> </td><td class="mdescRight">Copy a curve. <a href="#gacd7861bf1c9d61ac4ec87844a15ab9d3"></a><br/></td></tr>
92
<tr class="memitem:ga8c2aed234d3e4ddc4c239801be17bb73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
93
<tr class="memdesc:ga8c2aed234d3e4ddc4c239801be17bb73"><td class="mdescLeft"> </td><td class="mdescRight">Reverse and allocate a curve. <a href="#ga8c2aed234d3e4ddc4c239801be17bb73"></a><br/></td></tr>
94
<tr class="memitem:ga3416157017287eae136fb928802be234"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3416157017287eae136fb928802be234">stp_curve_reverse</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
95
<tr class="memdesc:ga3416157017287eae136fb928802be234"><td class="mdescLeft"> </td><td class="mdescRight">Reverse a curve. <a href="#ga3416157017287eae136fb928802be234"></a><br/></td></tr>
96
<tr class="memitem:ga4294b85e848fe421496469e2406ef380"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
97
<tr class="memdesc:ga4294b85e848fe421496469e2406ef380"><td class="mdescLeft"> </td><td class="mdescRight">Destroy an curve. <a href="#ga4294b85e848fe421496469e2406ef380"></a><br/></td></tr>
98
<tr class="memitem:gae32fb850963b8694d3739c0ed8475f75"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae32fb850963b8694d3739c0ed8475f75">stp_curve_set_bounds</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double low, double high)</td></tr>
99
<tr class="memdesc:gae32fb850963b8694d3739c0ed8475f75"><td class="mdescLeft"> </td><td class="mdescRight">Set the lower and upper bounds on a curve. <a href="#gae32fb850963b8694d3739c0ed8475f75"></a><br/></td></tr>
100
<tr class="memitem:ga63c3386fbfd75da9fe985673bf7b1ca3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga63c3386fbfd75da9fe985673bf7b1ca3">stp_curve_get_bounds</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
101
<tr class="memdesc:ga63c3386fbfd75da9fe985673bf7b1ca3"><td class="mdescLeft"> </td><td class="mdescRight">Get the lower and upper bounds on a curve. <a href="#ga63c3386fbfd75da9fe985673bf7b1ca3"></a><br/></td></tr>
102
<tr class="memitem:ga859020827897bac0f4671322ec027dc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga859020827897bac0f4671322ec027dc4">stp_curve_get_wrap</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
103
<tr class="memdesc:ga859020827897bac0f4671322ec027dc4"><td class="mdescLeft"> </td><td class="mdescRight">Get the wrapping mode. <a href="#ga859020827897bac0f4671322ec027dc4"></a><br/></td></tr>
104
<tr class="memitem:ga29b022a3055afe0b48d1f2736ff2f4da"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga29b022a3055afe0b48d1f2736ff2f4da">stp_curve_is_piecewise</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
105
<tr class="memdesc:ga29b022a3055afe0b48d1f2736ff2f4da"><td class="mdescLeft"> </td><td class="mdescRight">Determine whether the curve is piecewise. <a href="#ga29b022a3055afe0b48d1f2736ff2f4da"></a><br/></td></tr>
106
<tr class="memitem:gacb8e51731b9385556747744a0d4f43fb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8e51731b9385556747744a0d4f43fb">stp_curve_get_range</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
107
<tr class="memitem:ga766ff02b29b976372779f719076ad017"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga766ff02b29b976372779f719076ad017">stp_curve_count_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
108
<tr class="memdesc:ga766ff02b29b976372779f719076ad017"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of allocated points in the curve. <a href="#ga766ff02b29b976372779f719076ad017"></a><br/></td></tr>
109
<tr class="memitem:ga82890cef78f5861a88c5789c33693423"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga82890cef78f5861a88c5789c33693423">stp_curve_set_interpolation_type</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, <a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> itype)</td></tr>
110
<tr class="memdesc:ga82890cef78f5861a88c5789c33693423"><td class="mdescLeft"> </td><td class="mdescRight">Set the curve interpolation type. <a href="#ga82890cef78f5861a88c5789c33693423"></a><br/></td></tr>
111
<tr class="memitem:ga42c98a6a6d2512516738b6df9367510e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga42c98a6a6d2512516738b6df9367510e">stp_curve_get_interpolation_type</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
112
<tr class="memdesc:ga42c98a6a6d2512516738b6df9367510e"><td class="mdescLeft"> </td><td class="mdescRight">Get the curve interpolation type. <a href="#ga42c98a6a6d2512516738b6df9367510e"></a><br/></td></tr>
113
<tr class="memitem:ga81bceb4cb991cef1cda2298cf7bb9f15"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga81bceb4cb991cef1cda2298cf7bb9f15">stp_curve_set_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const double *data)</td></tr>
114
<tr class="memdesc:ga81bceb4cb991cef1cda2298cf7bb9f15"><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#ga81bceb4cb991cef1cda2298cf7bb9f15"></a><br/></td></tr>
115
<tr class="memitem:gace09cab4e6ae3d55f75aacae3689e8e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gace09cab4e6ae3d55f75aacae3689e8e6">stp_curve_set_data_points</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *data)</td></tr>
116
<tr class="memdesc:gace09cab4e6ae3d55f75aacae3689e8e6"><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#gace09cab4e6ae3d55f75aacae3689e8e6"></a><br/></td></tr>
117
<tr class="memitem:gabd7a39289471607311141c7fc3bbb415"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gabd7a39289471607311141c7fc3bbb415">stp_curve_set_float_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const float *data)</td></tr>
118
<tr class="memdesc:gabd7a39289471607311141c7fc3bbb415"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from float values. <a href="#gabd7a39289471607311141c7fc3bbb415"></a><br/></td></tr>
119
<tr class="memitem:gae6a435a21a5c4b5e582d42095a7b06fc"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae6a435a21a5c4b5e582d42095a7b06fc">stp_curve_set_long_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const long *data)</td></tr>
120
<tr class="memdesc:gae6a435a21a5c4b5e582d42095a7b06fc"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from long values. <a href="#gae6a435a21a5c4b5e582d42095a7b06fc"></a><br/></td></tr>
121
<tr class="memitem:ga723173297f5b67af937205c7d74ac353"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga723173297f5b67af937205c7d74ac353">stp_curve_set_ulong_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned long *data)</td></tr>
122
<tr class="memdesc:ga723173297f5b67af937205c7d74ac353"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned long values. <a href="#ga723173297f5b67af937205c7d74ac353"></a><br/></td></tr>
123
<tr class="memitem:ga31e76843f4d2f207701755b58766a670"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga31e76843f4d2f207701755b58766a670">stp_curve_set_int_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const int *data)</td></tr>
124
<tr class="memdesc:ga31e76843f4d2f207701755b58766a670"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from integer values. <a href="#ga31e76843f4d2f207701755b58766a670"></a><br/></td></tr>
125
<tr class="memitem:ga3ee80f8e4f33691a78b3ad8c3fd7c34f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ee80f8e4f33691a78b3ad8c3fd7c34f">stp_curve_set_uint_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned int *data)</td></tr>
126
<tr class="memdesc:ga3ee80f8e4f33691a78b3ad8c3fd7c34f"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned integer values. <a href="#ga3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><br/></td></tr>
127
<tr class="memitem:ga2fa5222aab07e85f215e389734b6dbea"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2fa5222aab07e85f215e389734b6dbea">stp_curve_set_short_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const short *data)</td></tr>
128
<tr class="memdesc:ga2fa5222aab07e85f215e389734b6dbea"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from short values. <a href="#ga2fa5222aab07e85f215e389734b6dbea"></a><br/></td></tr>
129
<tr class="memitem:ga0af395eefa7bfe0d19acc1acbaeefe48"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0af395eefa7bfe0d19acc1acbaeefe48">stp_curve_set_ushort_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned short *data)</td></tr>
130
<tr class="memdesc:ga0af395eefa7bfe0d19acc1acbaeefe48"><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned short values. <a href="#ga0af395eefa7bfe0d19acc1acbaeefe48"></a><br/></td></tr>
131
<tr class="memitem:ga5cbf7c4b6ad96ecb35fc06f46c0319f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga5cbf7c4b6ad96ecb35fc06f46c0319f0">stp_curve_get_subrange</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t start, size_t count)</td></tr>
132
<tr class="memdesc:ga5cbf7c4b6ad96ecb35fc06f46c0319f0"><td class="mdescLeft"> </td><td class="mdescRight">Get a curve containing a subrange of data. <a href="#ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><br/></td></tr>
133
<tr class="memitem:ga73dfcc4c95734449965227e21deb3037"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga73dfcc4c95734449965227e21deb3037">stp_curve_set_subrange</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *range, size_t start)</td></tr>
134
<tr class="memitem:gab2208f56694e47e4300d10e057f59ee8"><td class="memItemLeft" align="right" valign="top">const double * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab2208f56694e47e4300d10e057f59ee8">stp_curve_get_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
135
<tr class="memdesc:gab2208f56694e47e4300d10e057f59ee8"><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data. <a href="#gab2208f56694e47e4300d10e057f59ee8"></a><br/></td></tr>
136
<tr class="memitem:ga79e0d6afa3573917c756af64b56a0d82"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga79e0d6afa3573917c756af64b56a0d82">stp_curve_get_data_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
137
<tr class="memdesc:ga79e0d6afa3573917c756af64b56a0d82"><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data as points. <a href="#ga79e0d6afa3573917c756af64b56a0d82"></a><br/></td></tr>
138
<tr class="memitem:ga251f105cb5f2b126ea02b7908f717c18"><td class="memItemLeft" align="right" valign="top">const float * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga251f105cb5f2b126ea02b7908f717c18">stp_curve_get_float_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
139
<tr class="memdesc:ga251f105cb5f2b126ea02b7908f717c18"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as floats. <a href="#ga251f105cb5f2b126ea02b7908f717c18"></a><br/></td></tr>
140
<tr class="memitem:gaf59bd38c9dfc7beb08a283dc9e400bf2"><td class="memItemLeft" align="right" valign="top">const long * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf59bd38c9dfc7beb08a283dc9e400bf2">stp_curve_get_long_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
141
<tr class="memdesc:gaf59bd38c9dfc7beb08a283dc9e400bf2"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as longs. <a href="#gaf59bd38c9dfc7beb08a283dc9e400bf2"></a><br/></td></tr>
142
<tr class="memitem:ga24a862eda4cdbb626f51aeb7d8ae9a50"><td class="memItemLeft" align="right" valign="top">const unsigned long * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga24a862eda4cdbb626f51aeb7d8ae9a50">stp_curve_get_ulong_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
143
<tr class="memdesc:ga24a862eda4cdbb626f51aeb7d8ae9a50"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned longs. <a href="#ga24a862eda4cdbb626f51aeb7d8ae9a50"></a><br/></td></tr>
144
<tr class="memitem:ga6de80e81b64262e0051441f697ae4de4"><td class="memItemLeft" align="right" valign="top">const int * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6de80e81b64262e0051441f697ae4de4">stp_curve_get_int_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
145
<tr class="memdesc:ga6de80e81b64262e0051441f697ae4de4"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as integers. <a href="#ga6de80e81b64262e0051441f697ae4de4"></a><br/></td></tr>
146
<tr class="memitem:ga19b3160a57dc6959fe08c631c7206a8a"><td class="memItemLeft" align="right" valign="top">const unsigned int * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga19b3160a57dc6959fe08c631c7206a8a">stp_curve_get_uint_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
147
<tr class="memdesc:ga19b3160a57dc6959fe08c631c7206a8a"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned integers. <a href="#ga19b3160a57dc6959fe08c631c7206a8a"></a><br/></td></tr>
148
<tr class="memitem:ga87c5d1904efa58be8a21ab6b2c41d0b9"><td class="memItemLeft" align="right" valign="top">const short * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87c5d1904efa58be8a21ab6b2c41d0b9">stp_curve_get_short_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
149
<tr class="memdesc:ga87c5d1904efa58be8a21ab6b2c41d0b9"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as shorts. <a href="#ga87c5d1904efa58be8a21ab6b2c41d0b9"></a><br/></td></tr>
150
<tr class="memitem:gaa02125af6b9c192e34985851370391b8"><td class="memItemLeft" align="right" valign="top">const unsigned short * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaa02125af6b9c192e34985851370391b8">stp_curve_get_ushort_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
151
<tr class="memdesc:gaa02125af6b9c192e34985851370391b8"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned shorts. <a href="#gaa02125af6b9c192e34985851370391b8"></a><br/></td></tr>
152
<tr class="memitem:gade323594e84d4380c88ecf122a5a4da8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gade323594e84d4380c88ecf122a5a4da8">stp_curve_get_sequence</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
153
<tr class="memdesc:gade323594e84d4380c88ecf122a5a4da8"><td class="mdescLeft"> </td><td class="mdescRight">Get the underlying stp_sequence_t data structure which stp_curve_t is derived from. <a href="#gade323594e84d4380c88ecf122a5a4da8"></a><br/></td></tr>
154
<tr class="memitem:gacb8a2b9b21f97f32faacb99a6125e152"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8a2b9b21f97f32faacb99a6125e152">stp_curve_set_gamma</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double f_gamma)</td></tr>
155
<tr class="memdesc:gacb8a2b9b21f97f32faacb99a6125e152"><td class="mdescLeft"> </td><td class="mdescRight">Set the gamma of a curve. <a href="#gacb8a2b9b21f97f32faacb99a6125e152"></a><br/></td></tr>
156
<tr class="memitem:ga0420a6cfa87aa96e5c9a56142aa0178d"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0420a6cfa87aa96e5c9a56142aa0178d">stp_curve_get_gamma</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
157
<tr class="memdesc:ga0420a6cfa87aa96e5c9a56142aa0178d"><td class="mdescLeft"> </td><td class="mdescRight">Get the gamma value of the curve. <a href="#ga0420a6cfa87aa96e5c9a56142aa0178d"></a><br/></td></tr>
158
<tr class="memitem:ga2d3b8372bde3fce699a3b7bb3c9d8582"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2d3b8372bde3fce699a3b7bb3c9d8582">stp_curve_set_point</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double data)</td></tr>
159
<tr class="memdesc:ga2d3b8372bde3fce699a3b7bb3c9d8582"><td class="mdescLeft"> </td><td class="mdescRight">Set a point along the curve. <a href="#ga2d3b8372bde3fce699a3b7bb3c9d8582"></a><br/></td></tr>
160
<tr class="memitem:ga569aae57147ed7681f23e0e60bd8af35"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga569aae57147ed7681f23e0e60bd8af35">stp_curve_get_point</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double *data)</td></tr>
161
<tr class="memdesc:ga569aae57147ed7681f23e0e60bd8af35"><td class="mdescLeft"> </td><td class="mdescRight">Get a point along the curve. <a href="#ga569aae57147ed7681f23e0e60bd8af35"></a><br/></td></tr>
162
<tr class="memitem:gab33642ee6c49334f379a4dc185ecd355"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab33642ee6c49334f379a4dc185ecd355">stp_curve_interpolate_value</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double where, double *result)</td></tr>
163
<tr class="memdesc:gab33642ee6c49334f379a4dc185ecd355"><td class="mdescLeft"> </td><td class="mdescRight">Interpolate a point along the curve. <a href="#gab33642ee6c49334f379a4dc185ecd355"></a><br/></td></tr>
164
<tr class="memitem:ga87298cf562468cbcf2c1f76a0ab80b62"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87298cf562468cbcf2c1f76a0ab80b62">stp_curve_resample</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t points)</td></tr>
165
<tr class="memdesc:ga87298cf562468cbcf2c1f76a0ab80b62"><td class="mdescLeft"> </td><td class="mdescRight">Resample a curve (change the number of points). <a href="#ga87298cf562468cbcf2c1f76a0ab80b62"></a><br/></td></tr>
166
<tr class="memitem:gaad611b3ddbd667ec204fa7b42f8d7546"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaad611b3ddbd667ec204fa7b42f8d7546">stp_curve_rescale</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double scale, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, <a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> bounds_mode)</td></tr>
167
<tr class="memdesc:gaad611b3ddbd667ec204fa7b42f8d7546"><td class="mdescLeft"> </td><td class="mdescRight">Rescale a curve (multiply all points by a scaling constant). <a href="#gaad611b3ddbd667ec204fa7b42f8d7546"></a><br/></td></tr>
168
<tr class="memitem:gac12af55cf0eb2f76db967886f8996313"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gac12af55cf0eb2f76db967886f8996313">stp_curve_write</a> (FILE *file, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
169
<tr class="memdesc:gac12af55cf0eb2f76db967886f8996313"><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a file. <a href="#gac12af55cf0eb2f76db967886f8996313"></a><br/></td></tr>
170
<tr class="memitem:gaf2f0da590278ff74af1eccb0aa0c7169"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf2f0da590278ff74af1eccb0aa0c7169">stp_curve_write_string</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
171
<tr class="memdesc:gaf2f0da590278ff74af1eccb0aa0c7169"><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a string. <a href="#gaf2f0da590278ff74af1eccb0aa0c7169"></a><br/></td></tr>
172
<tr class="memitem:ga478a24e44a3ce345f7207cf7ded12e37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> (FILE *fp)</td></tr>
173
<tr class="memdesc:ga478a24e44a3ce345f7207cf7ded12e37"><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#ga478a24e44a3ce345f7207cf7ded12e37"></a><br/></td></tr>
174
<tr class="memitem:gad96d7d1cda5f037f7d6a9b651ebbbb46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gad96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> (const char *file)</td></tr>
175
<tr class="memdesc:gad96d7d1cda5f037f7d6a9b651ebbbb46"><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><br/></td></tr>
176
<tr class="memitem:gab8c0df217306a6e0597f058efbfaca82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> (const char *string)</td></tr>
177
<tr class="memdesc:gab8c0df217306a6e0597f058efbfaca82"><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a string. <a href="#gab8c0df217306a6e0597f058efbfaca82"></a><br/></td></tr>
178
<tr class="memitem:ga55c83a9139fc1b06b90e983d7c1ceff7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga55c83a9139fc1b06b90e983d7c1ceff7">stp_curve_compose</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> **retval, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *a, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *b, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, int points)</td></tr>
179
<tr class="memdesc:ga55c83a9139fc1b06b90e983d7c1ceff7"><td class="mdescLeft"> </td><td class="mdescRight">Compose two curves, creating a third curve. <a href="#ga55c83a9139fc1b06b90e983d7c1ceff7"></a><br/></td></tr>
188
181
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
189
182
<p>The curve type models a linear, spline or gamma curve. </p>
190
183
<p>curve "inherits" from the sequence data structure (implemented via containment), since the curve data is represented internally as a sequence of numbers, for linear and spline curves. Linear Piecewise Curves (LPCs) should be implemented in the future which represent a curve in a more compact format.</p>
191
184
<p>Various operations are supported, including interpolation and composition. </p>
192
185
<hr/><h2>Typedef Documentation</h2>
193
<a class="anchor" id="ga375a2b23705fb0698ae1d823243c8524"></a><!-- doxytag: member="curve.h::stp_curve_t" ref="ga375a2b23705fb0698ae1d823243c8524" args="" -->
186
<a class="anchor" id="ga375a2b23705fb0698ae1d823243c8524"></a>
194
187
<div class="memitem">
195
188
<div class="memproto">
196
189
<table class="memname">
412
<a class="anchor" id="ga766ff02b29b976372779f719076ad017"></a><!-- doxytag: member="curve.h::stp_curve_count_points" ref="ga766ff02b29b976372779f719076ad017" args="(const stp_curve_t *curve)" -->
398
<a class="anchor" id="ga766ff02b29b976372779f719076ad017"></a>
413
399
<div class="memitem">
414
400
<div class="memproto">
415
401
<table class="memname">
417
<td class="memname">size_t <a class="el" href="group__curve.html#ga766ff02b29b976372779f719076ad017">stp_curve_count_points</a> </td>
403
<td class="memname">size_t stp_curve_count_points </td>
419
405
<td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td>
420
406
<td class="paramname"><em>curve</em></td><td>)</td>
410
</div><div class="memdoc">
427
412
<p>Get the number of allocated points in the curve. </p>
428
<dl class="params"><dt><b>Parameters:</b></dt><dd>
413
<dl class="params"><dt>Parameters:</dt><dd>
429
414
<table class="params">
430
415
<tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
434
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of points. </dd></dl>
419
<dl class="section return"><dt>Returns:</dt><dd>the number of points. </dd></dl>
438
<a class="anchor" id="ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><!-- doxytag: member="curve.h::stp_curve_create" ref="ga6b3640f0e25bd9d38e46bdc1b2ee58a4" args="(stp_curve_wrap_mode_t wrap)" -->
423
<a class="anchor" id="ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a>
439
424
<div class="memitem">
440
425
<div class="memproto">
441
426
<table class="memname">
443
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> </td>
428
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create </td>
445
430
<td class="paramtype"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td>
446
431
<td class="paramname"><em>wrap</em></td><td>)</td>
435
</div><div class="memdoc">
453
437
<p>Create a new curve. </p>
454
438
<p>Curves have y=lower..upper. The default bounds are 0..1. The default interpolation type is linear. There are no points allocated, and the gamma is defaulted to 1. The curve is a dense (equally-spaced) curve.</p>
455
439
<p>A wrapped curve has the same value at x=0 and x=1. The wrap mode of a curve cannot be changed except by routines that destroy the old curve entirely (e. g. stp_curve_copy, stp_curve_read). </p>
456
<dl class="params"><dt><b>Parameters:</b></dt><dd>
440
<dl class="params"><dt>Parameters:</dt><dd>
457
441
<table class="params">
458
442
<tr><td class="paramname">wrap</td><td>the wrap mode of the curve. </td></tr>
462
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve. </dd></dl>
446
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve. </dd></dl>
466
<a class="anchor" id="ga972ed591394396e0c66e928a0695b3bf"></a><!-- doxytag: member="curve.h::stp_curve_create_copy" ref="ga972ed591394396e0c66e928a0695b3bf" args="(const stp_curve_t *curve)" -->
450
<a class="anchor" id="ga972ed591394396e0c66e928a0695b3bf"></a>
467
451
<div class="memitem">
468
452
<div class="memproto">
469
453
<table class="memname">
471
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> </td>
455
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_copy </td>
473
457
<td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td>
474
458
<td class="paramname"><em>curve</em></td><td>)</td>
462
</div><div class="memdoc">
481
464
<p>Copy and allocate a curve. </p>
482
465
<p>dest will be created, and then the contents of source will be copied into it. dest must not have been previously allocated with <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. </p>
483
<dl class="params"><dt><b>Parameters:</b></dt><dd>
466
<dl class="params"><dt>Parameters:</dt><dd>
484
467
<table class="params">
485
468
<tr><td class="paramname">curve</td><td>the source curve. </td></tr>
489
<dl class="return"><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl>
472
<dl class="section return"><dt>Returns:</dt><dd>the new copy of the curve. </dd></dl>
493
<a class="anchor" id="gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><!-- doxytag: member="curve.h::stp_curve_create_from_file" ref="gad96d7d1cda5f037f7d6a9b651ebbbb46" args="(const char *file)" -->
476
<a class="anchor" id="gad96d7d1cda5f037f7d6a9b651ebbbb46"></a>
494
477
<div class="memitem">
495
478
<div class="memproto">
496
479
<table class="memname">
498
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#gad96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> </td>
481
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_file </td>
500
483
<td class="paramtype">const char * </td>
501
484
<td class="paramname"><em>file</em></td><td>)</td>
488
</div><div class="memdoc">
508
490
<p>Create a curve from a stream. </p>
509
<dl class="warning"><dt><b>Warning:</b></dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
510
<dl class="params"><dt><b>Parameters:</b></dt><dd>
491
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
492
<dl class="params"><dt>Parameters:</dt><dd>
511
493
<table class="params">
512
494
<tr><td class="paramname">file</td><td>the file to read. </td></tr>
516
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
498
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
520
<a class="anchor" id="ga478a24e44a3ce345f7207cf7ded12e37"></a><!-- doxytag: member="curve.h::stp_curve_create_from_stream" ref="ga478a24e44a3ce345f7207cf7ded12e37" args="(FILE *fp)" -->
502
<a class="anchor" id="ga478a24e44a3ce345f7207cf7ded12e37"></a>
521
503
<div class="memitem">
522
504
<div class="memproto">
523
505
<table class="memname">
525
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> </td>
507
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_stream </td>
527
509
<td class="paramtype">FILE * </td>
528
510
<td class="paramname"><em>fp</em></td><td>)</td>
514
</div><div class="memdoc">
535
516
<p>Create a curve from a stream. </p>
536
<dl class="warning"><dt><b>Warning:</b></dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
537
<dl class="params"><dt><b>Parameters:</b></dt><dd>
517
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
518
<dl class="params"><dt>Parameters:</dt><dd>
538
519
<table class="params">
539
520
<tr><td class="paramname">fp</td><td>the stream to read. </td></tr>
543
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
524
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
547
<a class="anchor" id="gab8c0df217306a6e0597f058efbfaca82"></a><!-- doxytag: member="curve.h::stp_curve_create_from_string" ref="gab8c0df217306a6e0597f058efbfaca82" args="(const char *string)" -->
528
<a class="anchor" id="gab8c0df217306a6e0597f058efbfaca82"></a>
548
529
<div class="memitem">
549
530
<div class="memproto">
550
531
<table class="memname">
552
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#gab8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> </td>
533
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_string </td>
554
535
<td class="paramtype">const char * </td>
555
536
<td class="paramname"><em>string</em></td><td>)</td>
540
</div><div class="memdoc">
562
542
<p>Create a curve from a string. </p>
563
<dl class="warning"><dt><b>Warning:</b></dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
564
<dl class="params"><dt><b>Parameters:</b></dt><dd>
543
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
544
<dl class="params"><dt>Parameters:</dt><dd>
565
545
<table class="params">
566
546
<tr><td class="paramname">string</td><td>the string to read. </td></tr>
570
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
550
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
574
<a class="anchor" id="ga8c2aed234d3e4ddc4c239801be17bb73"></a><!-- doxytag: member="curve.h::stp_curve_create_reverse" ref="ga8c2aed234d3e4ddc4c239801be17bb73" args="(const stp_curve_t *curve)" -->
554
<a class="anchor" id="ga8c2aed234d3e4ddc4c239801be17bb73"></a>
575
555
<div class="memitem">
576
556
<div class="memproto">
577
557
<table class="memname">
579
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> </td>
559
<td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_reverse </td>
581
561
<td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td>
582
562
<td class="paramname"><em>curve</em></td><td>)</td>
566
</div><div class="memdoc">
589
568
<p>Reverse and allocate a curve. </p>
590
569
<p>dest will be created, and then the contents of source will be copied into it. dest must not have been previously allocated with <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. </p>
591
<dl class="params"><dt><b>Parameters:</b></dt><dd>
570
<dl class="params"><dt>Parameters:</dt><dd>
592
571
<table class="params">
593
572
<tr><td class="paramname">curve</td><td>the source curve. </td></tr>
597
<dl class="return"><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl>
576
<dl class="section return"><dt>Returns:</dt><dd>the new copy of the curve. </dd></dl>
601
<a class="anchor" id="ga4294b85e848fe421496469e2406ef380"></a><!-- doxytag: member="curve.h::stp_curve_destroy" ref="ga4294b85e848fe421496469e2406ef380" args="(stp_curve_t *curve)" -->
580
<a class="anchor" id="ga4294b85e848fe421496469e2406ef380"></a>
602
581
<div class="memitem">
603
582
<div class="memproto">
604
583
<table class="memname">
606
<td class="memname">void <a class="el" href="group__curve.html#ga4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> </td>
585
<td class="memname">void stp_curve_destroy </td>
608
587
<td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td>
609
588
<td class="paramname"><em>curve</em></td><td>)</td>
592
</div><div class="memdoc">
616
594
<p>Destroy an curve. </p>
617
595
<p>It is an error to destroy the curve more than once. </p>
618
<dl class="params"><dt><b>Parameters:</b></dt><dd>
596
<dl class="params"><dt>Parameters:</dt><dd>
619
597
<table class="params">
620
598
<tr><td class="paramname">curve</td><td>the curve to destroy. </td></tr>