diff options
Diffstat (limited to 'doc/gutenprint/html/group__curve.html')
-rw-r--r-- | doc/gutenprint/html/group__curve.html | 1992 |
1 files changed, 954 insertions, 1038 deletions
diff --git a/doc/gutenprint/html/group__curve.html b/doc/gutenprint/html/group__curve.html index d496c79..3d47ac2 100644 --- a/doc/gutenprint/html/group__curve.html +++ b/doc/gutenprint/html/group__curve.html @@ -1,2164 +1,2080 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libgutenprint API Reference: curve</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -<link href="tabs.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<!-- Generated by Doxygen 1.7.4 --> +<div id="top"> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td style="padding-left: 0.5em;"> + <div id="projectname">libgutenprint API Reference <span id="projectnumber">5.2.7</span></div> + </td> + </tr> + </tbody> +</table> +</div> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="classes.html"><span>Data Structures</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Data Structures</a> | +<a href="#typedef-members">Typedefs</a> | +<a href="#enum-members">Enumerations</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">curve</div> </div> +</div> <div class="contents"> -<h1>curve</h1>The curve type models a linear, spline or gamma curve. -<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> -<tr><td class="memItemLeft" nowrap 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> - -<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> -<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct stp_curve </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">The curve opaque data type. <a href="#g375a2b23705fb0698ae1d823243c8524"></a><br></td></tr> -<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> { <a class="el" href="group__curve.html#gg982f8191c84b049cc3ad3cee1558fc2346228ddaa2d52a85ccd79c4dc0f76ad3">STP_CURVE_TYPE_LINEAR</a>, -<a class="el" href="group__curve.html#gg982f8191c84b049cc3ad3cee1558fc23fb1ffdc3754f428d8e3a2124e014ff77">STP_CURVE_TYPE_SPLINE</a> - }</td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">Curve types. <a href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">More...</a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> { <a class="el" href="group__curve.html#gg3ae3af552b490b0ca8b02e442ac9547ad840485ad7df768a06ee4be02d93b97a">STP_CURVE_WRAP_NONE</a>, -<a class="el" href="group__curve.html#gg3ae3af552b490b0ca8b02e442ac9547ac0361aebddfabfb263dc0205a61f6fbd">STP_CURVE_WRAP_AROUND</a> +<p>The curve type models a linear, spline or gamma curve. +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Data Structures</h2></td></tr> +<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> +<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> +<tr><td colspan="2"><h2><a name="typedef-members"></a> +Typedefs</h2></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The curve opaque data type. <a href="#ga375a2b23705fb0698ae1d823243c8524"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="enum-members"></a> +Enumerations</h2></td></tr> +<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>, +<a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23afb1ffdc3754f428d8e3a2124e014ff77">STP_CURVE_TYPE_SPLINE</a> }</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapping mode. <a href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">More...</a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> { <a class="el" href="group__curve.html#gg7eddbee28cb1f3c76a19408b86ea142ec38b0bf09e93edb67c3e5c53035295f3">STP_CURVE_COMPOSE_ADD</a>, -<a class="el" href="group__curve.html#gg7eddbee28cb1f3c76a19408b86ea142ed3bd2cdb63498d5d22686e79e2c0ed95">STP_CURVE_COMPOSE_MULTIPLY</a>, -<a class="el" href="group__curve.html#gg7eddbee28cb1f3c76a19408b86ea142e8de151149fdfd4fcca78826e6352246a">STP_CURVE_COMPOSE_EXPONENTIATE</a> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Curve types. <a href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">More...</a><br/></td></tr> +<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>, +<a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aac0361aebddfabfb263dc0205a61f6fbd">STP_CURVE_WRAP_AROUND</a> }</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Composition types. <a href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">More...</a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> { <a class="el" href="group__curve.html#gg86d146e483ca1902f973d574f542b85f118d303bf7bdf4f00bda71cc6eac49c3">STP_CURVE_BOUNDS_RESCALE</a>, -<a class="el" href="group__curve.html#gg86d146e483ca1902f973d574f542b85fec9e6673edac9d34e3aad376fa711aa5">STP_CURVE_BOUNDS_CLIP</a>, -<a class="el" href="group__curve.html#gg86d146e483ca1902f973d574f542b85fd699d675d5df223055388cd83d0b362b">STP_CURVE_BOUNDS_ERROR</a> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapping mode. <a href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">More...</a><br/></td></tr> +<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>, +<a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142ead3bd2cdb63498d5d22686e79e2c0ed95">STP_CURVE_COMPOSE_MULTIPLY</a>, +<a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142ea8de151149fdfd4fcca78826e6352246a">STP_CURVE_COMPOSE_EXPONENTIATE</a> }</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Behaviour when curve exceeds bounds. <a href="group__curve.html#g86d146e483ca1902f973d574f542b85f">More...</a><br></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> (<a class="el" href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> wrap)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new curve. <a href="#g6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy and allocate a curve. <a href="#g972ed591394396e0c66e928a0695b3bf"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gcd7861bf1c9d61ac4ec87844a15ab9d3">stp_curve_copy</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy a curve. <a href="#gcd7861bf1c9d61ac4ec87844a15ab9d3"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse and allocate a curve. <a href="#g8c2aed234d3e4ddc4c239801be17bb73"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g3416157017287eae136fb928802be234">stp_curve_reverse</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse a curve. <a href="#g3416157017287eae136fb928802be234"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an curve. <a href="#g4294b85e848fe421496469e2406ef380"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ge32fb850963b8694d3739c0ed8475f75">stp_curve_set_bounds</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double low, double high)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the lower and upper bounds on a curve. <a href="#ge32fb850963b8694d3739c0ed8475f75"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g63c3386fbfd75da9fe985673bf7b1ca3">stp_curve_get_bounds</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the lower and upper bounds on a curve. <a href="#g63c3386fbfd75da9fe985673bf7b1ca3"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g859020827897bac0f4671322ec027dc4">stp_curve_get_wrap</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the wrapping mode. <a href="#g859020827897bac0f4671322ec027dc4"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g29b022a3055afe0b48d1f2736ff2f4da">stp_curve_is_piecewise</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Determine whether the curve is piecewise. <a href="#g29b022a3055afe0b48d1f2736ff2f4da"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gcb8e51731b9385556747744a0d4f43fb">stp_curve_get_range</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g766ff02b29b976372779f719076ad017">stp_curve_count_points</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of allocated points in the curve. <a href="#g766ff02b29b976372779f719076ad017"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g82890cef78f5861a88c5789c33693423">stp_curve_set_interpolation_type</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, <a class="el" href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> itype)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the curve interpolation type. <a href="#g82890cef78f5861a88c5789c33693423"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g42c98a6a6d2512516738b6df9367510e">stp_curve_get_interpolation_type</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the curve interpolation type. <a href="#g42c98a6a6d2512516738b6df9367510e"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g81bceb4cb991cef1cda2298cf7bb9f15">stp_curve_set_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const double *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#g81bceb4cb991cef1cda2298cf7bb9f15"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gce09cab4e6ae3d55f75aacae3689e8e6">stp_curve_set_data_points</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">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> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#gce09cab4e6ae3d55f75aacae3689e8e6"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gbd7a39289471607311141c7fc3bbb415">stp_curve_set_float_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const float *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from float values. <a href="#gbd7a39289471607311141c7fc3bbb415"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ge6a435a21a5c4b5e582d42095a7b06fc">stp_curve_set_long_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const long *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from long values. <a href="#ge6a435a21a5c4b5e582d42095a7b06fc"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g723173297f5b67af937205c7d74ac353">stp_curve_set_ulong_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned long *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned long values. <a href="#g723173297f5b67af937205c7d74ac353"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g31e76843f4d2f207701755b58766a670">stp_curve_set_int_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const int *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from integer values. <a href="#g31e76843f4d2f207701755b58766a670"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g3ee80f8e4f33691a78b3ad8c3fd7c34f">stp_curve_set_uint_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned int *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned integer values. <a href="#g3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g2fa5222aab07e85f215e389734b6dbea">stp_curve_set_short_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const short *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from short values. <a href="#g2fa5222aab07e85f215e389734b6dbea"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g0af395eefa7bfe0d19acc1acbaeefe48">stp_curve_set_ushort_data</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned short *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the data points in a curve from unsigned short values. <a href="#g0af395eefa7bfe0d19acc1acbaeefe48"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g5cbf7c4b6ad96ecb35fc06f46c0319f0">stp_curve_get_subrange</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t start, size_t count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a curve containing a subrange of data. <a href="#g5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g73dfcc4c95734449965227e21deb3037">stp_curve_set_subrange</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *range, size_t start)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">const double * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gb2208f56694e47e4300d10e057f59ee8">stp_curve_get_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data. <a href="#gb2208f56694e47e4300d10e057f59ee8"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap 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#g79e0d6afa3573917c756af64b56a0d82">stp_curve_get_data_points</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data as points. <a href="#g79e0d6afa3573917c756af64b56a0d82"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const float * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g251f105cb5f2b126ea02b7908f717c18">stp_curve_get_float_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as floats. <a href="#g251f105cb5f2b126ea02b7908f717c18"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const long * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gf59bd38c9dfc7beb08a283dc9e400bf2">stp_curve_get_long_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as longs. <a href="#gf59bd38c9dfc7beb08a283dc9e400bf2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned long * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g24a862eda4cdbb626f51aeb7d8ae9a50">stp_curve_get_ulong_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned longs. <a href="#g24a862eda4cdbb626f51aeb7d8ae9a50"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const int * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g6de80e81b64262e0051441f697ae4de4">stp_curve_get_int_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as integers. <a href="#g6de80e81b64262e0051441f697ae4de4"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned int * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g19b3160a57dc6959fe08c631c7206a8a">stp_curve_get_uint_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned integers. <a href="#g19b3160a57dc6959fe08c631c7206a8a"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const short * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g87c5d1904efa58be8a21ab6b2c41d0b9">stp_curve_get_short_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as shorts. <a href="#g87c5d1904efa58be8a21ab6b2c41d0b9"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const unsigned short * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga02125af6b9c192e34985851370391b8">stp_curve_get_ushort_data</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the curve's raw data as unsigned shorts. <a href="#ga02125af6b9c192e34985851370391b8"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="group__sequence.html#g327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gde323594e84d4380c88ecf122a5a4da8">stp_curve_get_sequence</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<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="#gde323594e84d4380c88ecf122a5a4da8"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gcb8a2b9b21f97f32faacb99a6125e152">stp_curve_set_gamma</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double f_gamma)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the gamma of a curve. <a href="#gcb8a2b9b21f97f32faacb99a6125e152"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g0420a6cfa87aa96e5c9a56142aa0178d">stp_curve_get_gamma</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the gamma value of the curve. <a href="#g0420a6cfa87aa96e5c9a56142aa0178d"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g2d3b8372bde3fce699a3b7bb3c9d8582">stp_curve_set_point</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a point along the curve. <a href="#g2d3b8372bde3fce699a3b7bb3c9d8582"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g569aae57147ed7681f23e0e60bd8af35">stp_curve_get_point</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double *data)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a point along the curve. <a href="#g569aae57147ed7681f23e0e60bd8af35"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gb33642ee6c49334f379a4dc185ecd355">stp_curve_interpolate_value</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double where, double *result)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Interpolate a point along the curve. <a href="#gb33642ee6c49334f379a4dc185ecd355"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g87298cf562468cbcf2c1f76a0ab80b62">stp_curve_resample</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t points)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Resample a curve (change the number of points). <a href="#g87298cf562468cbcf2c1f76a0ab80b62"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gad611b3ddbd667ec204fa7b42f8d7546">stp_curve_rescale</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double scale, <a class="el" href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, <a class="el" href="group__curve.html#g86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> bounds_mode)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Rescale a curve (multiply all points by a scaling constant). <a href="#gad611b3ddbd667ec204fa7b42f8d7546"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gc12af55cf0eb2f76db967886f8996313">stp_curve_write</a> (FILE *file, const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a file. <a href="#gc12af55cf0eb2f76db967886f8996313"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gf2f0da590278ff74af1eccb0aa0c7169">stp_curve_write_string</a> (const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a string. <a href="#gf2f0da590278ff74af1eccb0aa0c7169"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> (FILE *fp)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#g478a24e44a3ce345f7207cf7ded12e37"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gd96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> (const char *file)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#gd96d7d1cda5f037f7d6a9b651ebbbb46"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gb8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> (const char *string)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a string. <a href="#gb8c0df217306a6e0597f058efbfaca82"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#g55c83a9139fc1b06b90e983d7c1ceff7">stp_curve_compose</a> (<a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> **retval, <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *a, <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *b, <a class="el" href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, int points)</td></tr> - -<tr><td class="mdescLeft"> </td><td class="mdescRight">Compose two curves, creating a third curve. <a href="#g55c83a9139fc1b06b90e983d7c1ceff7"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Composition types. <a href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">More...</a><br/></td></tr> +<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>, +<a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85faec9e6673edac9d34e3aad376fa711aa5">STP_CURVE_BOUNDS_CLIP</a>, +<a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fad699d675d5df223055388cd83d0b362b">STP_CURVE_BOUNDS_ERROR</a> + }</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Behaviour when curve exceeds bounds. <a href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new curve. <a href="#ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy and allocate a curve. <a href="#ga972ed591394396e0c66e928a0695b3bf"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy a curve. <a href="#gacd7861bf1c9d61ac4ec87844a15ab9d3"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse and allocate a curve. <a href="#ga8c2aed234d3e4ddc4c239801be17bb73"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse a curve. <a href="#ga3416157017287eae136fb928802be234"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an curve. <a href="#ga4294b85e848fe421496469e2406ef380"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the lower and upper bounds on a curve. <a href="#gae32fb850963b8694d3739c0ed8475f75"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the lower and upper bounds on a curve. <a href="#ga63c3386fbfd75da9fe985673bf7b1ca3"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the wrapping mode. <a href="#ga859020827897bac0f4671322ec027dc4"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Determine whether the curve is piecewise. <a href="#ga29b022a3055afe0b48d1f2736ff2f4da"></a><br/></td></tr> +<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> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of allocated points in the curve. <a href="#ga766ff02b29b976372779f719076ad017"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the curve interpolation type. <a href="#ga82890cef78f5861a88c5789c33693423"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the curve interpolation type. <a href="#ga42c98a6a6d2512516738b6df9367510e"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#ga81bceb4cb991cef1cda2298cf7bb9f15"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set all data points of the curve. <a href="#gace09cab4e6ae3d55f75aacae3689e8e6"></a><br/></td></tr> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a curve containing a subrange of data. <a href="#ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><br/></td></tr> +<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> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pointer to the curve's raw data. <a href="#gab2208f56694e47e4300d10e057f59ee8"></a><br/></td></tr> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the gamma of a curve. <a href="#gacb8a2b9b21f97f32faacb99a6125e152"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the gamma value of the curve. <a href="#ga0420a6cfa87aa96e5c9a56142aa0178d"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a point along the curve. <a href="#ga2d3b8372bde3fce699a3b7bb3c9d8582"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a point along the curve. <a href="#ga569aae57147ed7681f23e0e60bd8af35"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Interpolate a point along the curve. <a href="#gab33642ee6c49334f379a4dc185ecd355"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Resample a curve (change the number of points). <a href="#ga87298cf562468cbcf2c1f76a0ab80b62"></a><br/></td></tr> +<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> +<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> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a file. <a href="#gac12af55cf0eb2f76db967886f8996313"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Write a curve to a string. <a href="#gaf2f0da590278ff74af1eccb0aa0c7169"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#ga478a24e44a3ce345f7207cf7ded12e37"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a stream. <a href="#gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a curve from a string. <a href="#gab8c0df217306a6e0597f058efbfaca82"></a><br/></td></tr> +<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> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Compose two curves, creating a third curve. <a href="#ga55c83a9139fc1b06b90e983d7c1ceff7"></a><br/></td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -The curve type models a linear, spline or gamma curve. -<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> -Various operations are supported, including interpolation and composition. <hr><h2>Typedef Documentation</h2> -<a class="anchor" name="g375a2b23705fb0698ae1d823243c8524"></a><!-- doxytag: member="curve.h::stp_curve_t" ref="g375a2b23705fb0698ae1d823243c8524" args="" --> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<p>The curve type models a linear, spline or gamma curve. </p> +<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> +<p>Various operations are supported, including interpolation and composition. </p> +<hr/><h2>Typedef Documentation</h2> +<a class="anchor" id="ga375a2b23705fb0698ae1d823243c8524"></a><!-- doxytag: member="curve.h::stp_curve_t" ref="ga375a2b23705fb0698ae1d823243c8524" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">typedef struct stp_curve <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> </td> + <td class="memname">typedef struct stp_curve <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td> </tr> </table> </div> <div class="memdoc"> -<p> -The curve opaque data type. -<p> +<p>The curve opaque data type. </p> </div> -</div><p> -<hr><h2>Enumeration Type Documentation</h2> -<a class="anchor" name="g86d146e483ca1902f973d574f542b85f"></a><!-- doxytag: member="curve.h::stp_curve_bounds_t" ref="g86d146e483ca1902f973d574f542b85f" args="" --> +</div> +<hr/><h2>Enumeration Type Documentation</h2> +<a class="anchor" id="ga86d146e483ca1902f973d574f542b85f"></a><!-- doxytag: member="curve.h::stp_curve_bounds_t" ref="ga86d146e483ca1902f973d574f542b85f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">enum <a class="el" href="group__curve.html#g86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> </td> + <td class="memname">enum <a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a></td> </tr> </table> </div> <div class="memdoc"> -<p> -Behaviour when curve exceeds bounds. -<p> -<dl compact><dt><b>Enumerator: </b></dt><dd> -<table border="0" cellspacing="2" cellpadding="0"> -<tr><td valign="top"><em><a class="anchor" name="gg86d146e483ca1902f973d574f542b85f118d303bf7bdf4f00bda71cc6eac49c3"></a><!-- doxytag: member="STP_CURVE_BOUNDS_RESCALE" ref="gg86d146e483ca1902f973d574f542b85f118d303bf7bdf4f00bda71cc6eac49c3" args="" -->STP_CURVE_BOUNDS_RESCALE</em> </td><td> -Rescale the bounds. -<p> +<p>Behaviour when curve exceeds bounds. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3"></a><!-- doxytag: member="STP_CURVE_BOUNDS_RESCALE" ref="gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3" args="" -->STP_CURVE_BOUNDS_RESCALE</em> </td><td> +<p>Rescale the bounds. </p> </td></tr> -<tr><td valign="top"><em><a class="anchor" name="gg86d146e483ca1902f973d574f542b85fec9e6673edac9d34e3aad376fa711aa5"></a><!-- doxytag: member="STP_CURVE_BOUNDS_CLIP" ref="gg86d146e483ca1902f973d574f542b85fec9e6673edac9d34e3aad376fa711aa5" args="" -->STP_CURVE_BOUNDS_CLIP</em> </td><td> -Clip the curve to the existing bounds. -<p> +<tr><td valign="top"><em><a class="anchor" id="gga86d146e483ca1902f973d574f542b85faec9e6673edac9d34e3aad376fa711aa5"></a><!-- doxytag: member="STP_CURVE_BOUNDS_CLIP" ref="gga86d146e483ca1902f973d574f542b85faec9e6673edac9d34e3aad376fa711aa5" args="" -->STP_CURVE_BOUNDS_CLIP</em> </td><td> +<p>Clip the curve to the existing bounds. </p> </td></tr> -<tr><td valign="top"><em><a class="anchor" name="gg86d146e483ca1902f973d574f542b85fd699d675d5df223055388cd83d0b362b"></a><!-- doxytag: member="STP_CURVE_BOUNDS_ERROR" ref="gg86d146e483ca1902f973d574f542b85fd699d675d5df223055388cd83d0b362b" args="" -->STP_CURVE_BOUNDS_ERROR</em> </td><td> -Error if bounds are violated. -<p> +<tr><td valign="top"><em><a class="anchor" id="gga86d146e483ca1902f973d574f542b85fad699d675d5df223055388cd83d0b362b"></a><!-- doxytag: member="STP_CURVE_BOUNDS_ERROR" ref="gga86d146e483ca1902f973d574f542b85fad699d675d5df223055388cd83d0b362b" args="" -->STP_CURVE_BOUNDS_ERROR</em> </td><td> +<p>Error if bounds are violated. </p> </td></tr> </table> +</dd> </dl> </div> -</div><p> -<a class="anchor" name="g7eddbee28cb1f3c76a19408b86ea142e"></a><!-- doxytag: member="curve.h::stp_curve_compose_t" ref="g7eddbee28cb1f3c76a19408b86ea142e" args="" --> +</div> +<a class="anchor" id="ga7eddbee28cb1f3c76a19408b86ea142e"></a><!-- doxytag: member="curve.h::stp_curve_compose_t" ref="ga7eddbee28cb1f3c76a19408b86ea142e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">enum <a class="el" href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> </td> + <td class="memname">enum <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a></td> </tr> </table> </div> <div class="memdoc"> -<p> -Composition types. -<p> -<dl compact><dt><b>Enumerator: </b></dt><dd> -<table border="0" cellspacing="2" cellpadding="0"> -<tr><td valign="top"><em><a class="anchor" name="gg7eddbee28cb1f3c76a19408b86ea142ec38b0bf09e93edb67c3e5c53035295f3"></a><!-- doxytag: member="STP_CURVE_COMPOSE_ADD" ref="gg7eddbee28cb1f3c76a19408b86ea142ec38b0bf09e93edb67c3e5c53035295f3" args="" -->STP_CURVE_COMPOSE_ADD</em> </td><td> -Add composition. -<p> +<p>Composition types. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3"></a><!-- doxytag: member="STP_CURVE_COMPOSE_ADD" ref="gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3" args="" -->STP_CURVE_COMPOSE_ADD</em> </td><td> +<p>Add composition. </p> </td></tr> -<tr><td valign="top"><em><a class="anchor" name="gg7eddbee28cb1f3c76a19408b86ea142ed3bd2cdb63498d5d22686e79e2c0ed95"></a><!-- doxytag: member="STP_CURVE_COMPOSE_MULTIPLY" ref="gg7eddbee28cb1f3c76a19408b86ea142ed3bd2cdb63498d5d22686e79e2c0ed95" args="" -->STP_CURVE_COMPOSE_MULTIPLY</em> </td><td> -Multiply composition. -<p> +<tr><td valign="top"><em><a class="anchor" id="gga7eddbee28cb1f3c76a19408b86ea142ead3bd2cdb63498d5d22686e79e2c0ed95"></a><!-- doxytag: member="STP_CURVE_COMPOSE_MULTIPLY" ref="gga7eddbee28cb1f3c76a19408b86ea142ead3bd2cdb63498d5d22686e79e2c0ed95" args="" -->STP_CURVE_COMPOSE_MULTIPLY</em> </td><td> +<p>Multiply composition. </p> </td></tr> -<tr><td valign="top"><em><a class="anchor" name="gg7eddbee28cb1f3c76a19408b86ea142e8de151149fdfd4fcca78826e6352246a"></a><!-- doxytag: member="STP_CURVE_COMPOSE_EXPONENTIATE" ref="gg7eddbee28cb1f3c76a19408b86ea142e8de151149fdfd4fcca78826e6352246a" args="" -->STP_CURVE_COMPOSE_EXPONENTIATE</em> </td><td> -Exponentiate composition. -<p> +<tr><td valign="top"><em><a class="anchor" id="gga7eddbee28cb1f3c76a19408b86ea142ea8de151149fdfd4fcca78826e6352246a"></a><!-- doxytag: member="STP_CURVE_COMPOSE_EXPONENTIATE" ref="gga7eddbee28cb1f3c76a19408b86ea142ea8de151149fdfd4fcca78826e6352246a" args="" -->STP_CURVE_COMPOSE_EXPONENTIATE</em> </td><td> +<p>Exponentiate composition. </p> </td></tr> </table> +</dd> </dl> </div> -</div><p> -<a class="anchor" name="g982f8191c84b049cc3ad3cee1558fc23"></a><!-- doxytag: member="curve.h::stp_curve_type_t" ref="g982f8191c84b049cc3ad3cee1558fc23" args="" --> +</div> +<a class="anchor" id="ga982f8191c84b049cc3ad3cee1558fc23"></a><!-- doxytag: member="curve.h::stp_curve_type_t" ref="ga982f8191c84b049cc3ad3cee1558fc23" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">enum <a class="el" href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> </td> + <td class="memname">enum <a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a></td> </tr> </table> </div> <div class="memdoc"> -<p> -Curve types. -<p> -<dl compact><dt><b>Enumerator: </b></dt><dd> -<table border="0" cellspacing="2" cellpadding="0"> -<tr><td valign="top"><em><a class="anchor" name="gg982f8191c84b049cc3ad3cee1558fc2346228ddaa2d52a85ccd79c4dc0f76ad3"></a><!-- doxytag: member="STP_CURVE_TYPE_LINEAR" ref="gg982f8191c84b049cc3ad3cee1558fc2346228ddaa2d52a85ccd79c4dc0f76ad3" args="" -->STP_CURVE_TYPE_LINEAR</em> </td><td> -Linear interpolation. -<p> +<p>Curve types. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3"></a><!-- doxytag: member="STP_CURVE_TYPE_LINEAR" ref="gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3" args="" -->STP_CURVE_TYPE_LINEAR</em> </td><td> +<p>Linear interpolation. </p> </td></tr> -<tr><td valign="top"><em><a class="anchor" name="gg982f8191c84b049cc3ad3cee1558fc23fb1ffdc3754f428d8e3a2124e014ff77"></a><!-- doxytag: member="STP_CURVE_TYPE_SPLINE" ref="gg982f8191c84b049cc3ad3cee1558fc23fb1ffdc3754f428d8e3a2124e014ff77" args="" -->STP_CURVE_TYPE_SPLINE</em> </td><td> -Spline interpolation. -<p> +<tr><td valign="top"><em><a class="anchor" id="gga982f8191c84b049cc3ad3cee1558fc23afb1ffdc3754f428d8e3a2124e014ff77"></a><!-- doxytag: member="STP_CURVE_TYPE_SPLINE" ref="gga982f8191c84b049cc3ad3cee1558fc23afb1ffdc3754f428d8e3a2124e014ff77" args="" -->STP_CURVE_TYPE_SPLINE</em> </td><td> +<p>Spline interpolation. </p> </td></tr> </table> +</dd> </dl> </div> -</div><p> -<a class="anchor" name="g3ae3af552b490b0ca8b02e442ac9547a"></a><!-- doxytag: member="curve.h::stp_curve_wrap_mode_t" ref="g3ae3af552b490b0ca8b02e442ac9547a" args="" --> +</div> +<a class="anchor" id="ga3ae3af552b490b0ca8b02e442ac9547a"></a><!-- doxytag: member="curve.h::stp_curve_wrap_mode_t" ref="ga3ae3af552b490b0ca8b02e442ac9547a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">enum <a class="el" href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td> + <td class="memname">enum <a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a></td> </tr> </table> </div> <div class="memdoc"> -<p> -Wrapping mode. -<p> -<dl compact><dt><b>Enumerator: </b></dt><dd> -<table border="0" cellspacing="2" cellpadding="0"> -<tr><td valign="top"><em><a class="anchor" name="gg3ae3af552b490b0ca8b02e442ac9547ad840485ad7df768a06ee4be02d93b97a"></a><!-- doxytag: member="STP_CURVE_WRAP_NONE" ref="gg3ae3af552b490b0ca8b02e442ac9547ad840485ad7df768a06ee4be02d93b97a" args="" -->STP_CURVE_WRAP_NONE</em> </td><td> -The curve does not wrap. </td></tr> -<tr><td valign="top"><em><a class="anchor" name="gg3ae3af552b490b0ca8b02e442ac9547ac0361aebddfabfb263dc0205a61f6fbd"></a><!-- doxytag: member="STP_CURVE_WRAP_AROUND" ref="gg3ae3af552b490b0ca8b02e442ac9547ac0361aebddfabfb263dc0205a61f6fbd" args="" -->STP_CURVE_WRAP_AROUND</em> </td><td> -The curve wraps to its starting point. -<p> +<p>Wrapping mode. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a"></a><!-- doxytag: member="STP_CURVE_WRAP_NONE" ref="gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a" args="" -->STP_CURVE_WRAP_NONE</em> </td><td> +<p>The curve does not wrap. </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="gga3ae3af552b490b0ca8b02e442ac9547aac0361aebddfabfb263dc0205a61f6fbd"></a><!-- doxytag: member="STP_CURVE_WRAP_AROUND" ref="gga3ae3af552b490b0ca8b02e442ac9547aac0361aebddfabfb263dc0205a61f6fbd" args="" -->STP_CURVE_WRAP_AROUND</em> </td><td> +<p>The curve wraps to its starting point. </p> </td></tr> </table> +</dd> </dl> </div> -</div><p> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g55c83a9139fc1b06b90e983d7c1ceff7"></a><!-- doxytag: member="curve.h::stp_curve_compose" ref="g55c83a9139fc1b06b90e983d7c1ceff7" args="(stp_curve_t **retval, stp_curve_t *a, stp_curve_t *b, stp_curve_compose_t mode, int points)" --> +</div> +<hr/><h2>Function Documentation</h2> +<a class="anchor" id="ga55c83a9139fc1b06b90e983d7c1ceff7"></a><!-- doxytag: member="curve.h::stp_curve_compose" ref="ga55c83a9139fc1b06b90e983d7c1ceff7" args="(stp_curve_t **retval, stp_curve_t *a, stp_curve_t *b, stp_curve_compose_t mode, int points)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_compose </td> + <td class="memname">int stp_curve_compose </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> ** </td> - <td class="paramname"> <em>retval</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> ** </td> + <td class="paramname"><em>retval</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>a</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>b</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> </td> - <td class="paramname"> <em>mode</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> </td> + <td class="paramname"><em>mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>points</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>points</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Compose two curves, creating a third curve. -<p> -Only add and multiply composition is currently supported. If both curves are gamma curves with the same sign, and the operation is multiplication or division, the returned curve is a gamma curve with the appropriate number of points. Both a and b must have the same wraparound type. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>retval</em> </td><td>a pointer to store the location of the newly-created output curve in. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>a</em> </td><td>the first source curve. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>b</em> </td><td>the second source curve. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>the composition mode. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>points</em> </td><td>the number of points in the output curve (must not exceed 1048576). It must be at least two, unless the curve is a gamma curve and the operation chosen is multiplication or division. If -1, the resulting number of points will be the least common multiplier of the number of points in the input and output curves (but will not exceed 1048576). </td></tr> +<p>Compose two curves, creating a third curve. </p> +<p>Only add and multiply composition is currently supported. If both curves are gamma curves with the same sign, and the operation is multiplication or division, the returned curve is a gamma curve with the appropriate number of points. Both a and b must have the same wraparound type. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">retval</td><td>a pointer to store the location of the newly-created output curve in. </td></tr> + <tr><td class="paramname">a</td><td>the first source curve. </td></tr> + <tr><td class="paramname">b</td><td>the second source curve. </td></tr> + <tr><td class="paramname">mode</td><td>the composition mode. </td></tr> + <tr><td class="paramname">points</td><td>the number of points in the output curve (must not exceed 1048576). It must be at least two, unless the curve is a gamma curve and the operation chosen is multiplication or division. If -1, the resulting number of points will be the least common multiplier of the number of points in the input and output curves (but will not exceed 1048576). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if element-wise composition fails. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if element-wise composition fails. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcd7861bf1c9d61ac4ec87844a15ab9d3"></a><!-- doxytag: member="curve.h::stp_curve_copy" ref="gcd7861bf1c9d61ac4ec87844a15ab9d3" args="(stp_curve_t *dest, const stp_curve_t *source)" --> +</div> +<a class="anchor" id="gacd7861bf1c9d61ac4ec87844a15ab9d3"></a><!-- doxytag: member="curve.h::stp_curve_copy" ref="gacd7861bf1c9d61ac4ec87844a15ab9d3" args="(stp_curve_t *dest, const stp_curve_t *source)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void stp_curve_copy </td> + <td class="memname">void stp_curve_copy </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>dest</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>source</em></td><td> </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>source</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Copy a curve. -<p> -Both dest and source must be valid curves previously created with <a class="el" href="group__curve.html#g6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the destination curve. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source curve. </td></tr> +<p>Copy a curve. </p> +<p>Both dest and source must be valid curves previously created with <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">dest</td><td>the destination curve. </td></tr> + <tr><td class="paramname">source</td><td>the source curve. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g766ff02b29b976372779f719076ad017"></a><!-- doxytag: member="curve.h::stp_curve_count_points" ref="g766ff02b29b976372779f719076ad017" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga766ff02b29b976372779f719076ad017"></a><!-- doxytag: member="curve.h::stp_curve_count_points" ref="ga766ff02b29b976372779f719076ad017" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">size_t stp_curve_count_points </td> + <td class="memname">size_t stp_curve_count_points </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get the number of allocated points in the curve. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Get the number of allocated points in the curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of points. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the number of points. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><!-- doxytag: member="curve.h::stp_curve_create" ref="g6b3640f0e25bd9d38e46bdc1b2ee58a4" args="(stp_curve_wrap_mode_t wrap)" --> +</div> +<a class="anchor" id="ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><!-- doxytag: member="curve.h::stp_curve_create" ref="ga6b3640f0e25bd9d38e46bdc1b2ee58a4" args="(stp_curve_wrap_mode_t wrap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td> - <td class="paramname"> <em>wrap</em> </td> - <td> ) </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> </td> + <td class="paramname"><em>wrap</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Create a new curve. -<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> -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). <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>wrap</em> </td><td>the wrap mode of the curve. </td></tr> +<p>Create a new curve. </p> +<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> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">wrap</td><td>the wrap mode of the curve. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the newly created curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g972ed591394396e0c66e928a0695b3bf"></a><!-- doxytag: member="curve.h::stp_curve_create_copy" ref="g972ed591394396e0c66e928a0695b3bf" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga972ed591394396e0c66e928a0695b3bf"></a><!-- doxytag: member="curve.h::stp_curve_create_copy" ref="ga972ed591394396e0c66e928a0695b3bf" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_copy </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_copy </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Copy and allocate a curve. -<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#g6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the source curve. </td></tr> +<p>Copy and allocate a curve. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the source curve. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd96d7d1cda5f037f7d6a9b651ebbbb46"></a><!-- doxytag: member="curve.h::stp_curve_create_from_file" ref="gd96d7d1cda5f037f7d6a9b651ebbbb46" args="(const char *file)" --> +</div> +<a class="anchor" id="gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><!-- doxytag: member="curve.h::stp_curve_create_from_file" ref="gad96d7d1cda5f037f7d6a9b651ebbbb46" args="(const char *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_file </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_file </td> <td>(</td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>file</em> </td> - <td> ) </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>file</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Create a curve from a stream. -<p> -<dl class="warning" compact><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> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>file</em> </td><td>the file to read. </td></tr> +<p>Create a curve from a stream. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">file</td><td>the file to read. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl> </div> -</div><p> -<a class="anchor" name="g478a24e44a3ce345f7207cf7ded12e37"></a><!-- doxytag: member="curve.h::stp_curve_create_from_stream" ref="g478a24e44a3ce345f7207cf7ded12e37" args="(FILE *fp)" --> +</div> +<a class="anchor" id="ga478a24e44a3ce345f7207cf7ded12e37"></a><!-- doxytag: member="curve.h::stp_curve_create_from_stream" ref="ga478a24e44a3ce345f7207cf7ded12e37" args="(FILE *fp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_stream </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_stream </td> <td>(</td> - <td class="paramtype">FILE * </td> - <td class="paramname"> <em>fp</em> </td> - <td> ) </td> + <td class="paramtype">FILE * </td> + <td class="paramname"><em>fp</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Create a curve from a stream. -<p> -<dl class="warning" compact><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> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>fp</em> </td><td>the stream to read. </td></tr> +<p>Create a curve from a stream. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">fp</td><td>the stream to read. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb8c0df217306a6e0597f058efbfaca82"></a><!-- doxytag: member="curve.h::stp_curve_create_from_string" ref="gb8c0df217306a6e0597f058efbfaca82" args="(const char *string)" --> +</div> +<a class="anchor" id="gab8c0df217306a6e0597f058efbfaca82"></a><!-- doxytag: member="curve.h::stp_curve_create_from_string" ref="gab8c0df217306a6e0597f058efbfaca82" args="(const char *string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_string </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_string </td> <td>(</td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>string</em> </td> - <td> ) </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>string</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Create a curve from a string. -<p> -<dl class="warning" compact><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> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>the string to read. </td></tr> +<p>Create a curve from a string. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">string</td><td>the string to read. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8c2aed234d3e4ddc4c239801be17bb73"></a><!-- doxytag: member="curve.h::stp_curve_create_reverse" ref="g8c2aed234d3e4ddc4c239801be17bb73" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga8c2aed234d3e4ddc4c239801be17bb73"></a><!-- doxytag: member="curve.h::stp_curve_create_reverse" ref="ga8c2aed234d3e4ddc4c239801be17bb73" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_reverse </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_reverse </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Reverse and allocate a curve. -<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#g6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the source curve. </td></tr> +<p>Reverse and allocate a curve. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the source curve. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g4294b85e848fe421496469e2406ef380"></a><!-- doxytag: member="curve.h::stp_curve_destroy" ref="g4294b85e848fe421496469e2406ef380" args="(stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga4294b85e848fe421496469e2406ef380"></a><!-- doxytag: member="curve.h::stp_curve_destroy" ref="ga4294b85e848fe421496469e2406ef380" args="(stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void stp_curve_destroy </td> + <td class="memname">void stp_curve_destroy </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Destroy an curve. -<p> -It is an error to destroy the curve more than once. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to destroy. </td></tr> +<p>Destroy an curve. </p> +<p>It is an error to destroy the curve more than once. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to destroy. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g63c3386fbfd75da9fe985673bf7b1ca3"></a><!-- doxytag: member="curve.h::stp_curve_get_bounds" ref="g63c3386fbfd75da9fe985673bf7b1ca3" args="(const stp_curve_t *curve, double *low, double *high)" --> +</div> +<a class="anchor" id="ga63c3386fbfd75da9fe985673bf7b1ca3"></a><!-- doxytag: member="curve.h::stp_curve_get_bounds" ref="ga63c3386fbfd75da9fe985673bf7b1ca3" args="(const stp_curve_t *curve, double *low, double *high)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void stp_curve_get_bounds </td> + <td class="memname">void stp_curve_get_bounds </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double * </td> - <td class="paramname"> <em>low</em>, </td> + <td class="paramtype">double * </td> + <td class="paramname"><em>low</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double * </td> - <td class="paramname"> <em>high</em></td><td> </td> + <td class="paramtype">double * </td> + <td class="paramname"><em>high</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get the lower and upper bounds on a curve. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>low</em> </td><td>a pointer to a double to store the lower bound in. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>high</em> </td><td>a pointer to a double to store the upper bound in. </td></tr> +<p>Get the lower and upper bounds on a curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">low</td><td>a pointer to a double to store the lower bound in. </td></tr> + <tr><td class="paramname">high</td><td>a pointer to a double to store the upper bound in. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gb2208f56694e47e4300d10e057f59ee8"></a><!-- doxytag: member="curve.h::stp_curve_get_data" ref="gb2208f56694e47e4300d10e057f59ee8" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="gab2208f56694e47e4300d10e057f59ee8"></a><!-- doxytag: member="curve.h::stp_curve_get_data" ref="gab2208f56694e47e4300d10e057f59ee8" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const double* stp_curve_get_data </td> + <td class="memname">const double* stp_curve_get_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get a pointer to the curve's raw data. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get a pointer to the curve's raw data. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This call also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This call also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g79e0d6afa3573917c756af64b56a0d82"></a><!-- doxytag: member="curve.h::stp_curve_get_data_points" ref="g79e0d6afa3573917c756af64b56a0d82" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="ga79e0d6afa3573917c756af64b56a0d82"></a><!-- doxytag: member="curve.h::stp_curve_get_data_points" ref="ga79e0d6afa3573917c756af64b56a0d82" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a>* stp_curve_get_data_points </td> + <td class="memname">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a>* stp_curve_get_data_points </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get a pointer to the curve's raw data as points. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get a pointer to the curve's raw data as points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This call also returns NULL if the curve is a dense (equally-spaced) curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This call also returns NULL if the curve is a dense (equally-spaced) curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g251f105cb5f2b126ea02b7908f717c18"></a><!-- doxytag: member="curve.h::stp_curve_get_float_data" ref="g251f105cb5f2b126ea02b7908f717c18" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="ga251f105cb5f2b126ea02b7908f717c18"></a><!-- doxytag: member="curve.h::stp_curve_get_float_data" ref="ga251f105cb5f2b126ea02b7908f717c18" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const float* stp_curve_get_float_data </td> + <td class="memname">const float* stp_curve_get_float_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as floats. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as floats. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0420a6cfa87aa96e5c9a56142aa0178d"></a><!-- doxytag: member="curve.h::stp_curve_get_gamma" ref="g0420a6cfa87aa96e5c9a56142aa0178d" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga0420a6cfa87aa96e5c9a56142aa0178d"></a><!-- doxytag: member="curve.h::stp_curve_get_gamma" ref="ga0420a6cfa87aa96e5c9a56142aa0178d" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">double stp_curve_get_gamma </td> + <td class="memname">double stp_curve_get_gamma </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get the gamma value of the curve. -<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the gamma value. A value of 0 indicates that the curve does not have a valid gamma value. </dd></dl> +<p>Get the gamma value of the curve. </p> +<dl class="return"><dt><b>Returns:</b></dt><dd>the gamma value. A value of 0 indicates that the curve does not have a valid gamma value. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6de80e81b64262e0051441f697ae4de4"></a><!-- doxytag: member="curve.h::stp_curve_get_int_data" ref="g6de80e81b64262e0051441f697ae4de4" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="ga6de80e81b64262e0051441f697ae4de4"></a><!-- doxytag: member="curve.h::stp_curve_get_int_data" ref="ga6de80e81b64262e0051441f697ae4de4" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const int* stp_curve_get_int_data </td> + <td class="memname">const int* stp_curve_get_int_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as integers. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as integers. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g42c98a6a6d2512516738b6df9367510e"></a><!-- doxytag: member="curve.h::stp_curve_get_interpolation_type" ref="g42c98a6a6d2512516738b6df9367510e" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga42c98a6a6d2512516738b6df9367510e"></a><!-- doxytag: member="curve.h::stp_curve_get_interpolation_type" ref="ga42c98a6a6d2512516738b6df9367510e" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> stp_curve_get_interpolation_type </td> + <td class="memname"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> stp_curve_get_interpolation_type </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get the curve interpolation type. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Get the curve interpolation type. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the interpolation type. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the interpolation type. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf59bd38c9dfc7beb08a283dc9e400bf2"></a><!-- doxytag: member="curve.h::stp_curve_get_long_data" ref="gf59bd38c9dfc7beb08a283dc9e400bf2" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="gaf59bd38c9dfc7beb08a283dc9e400bf2"></a><!-- doxytag: member="curve.h::stp_curve_get_long_data" ref="gaf59bd38c9dfc7beb08a283dc9e400bf2" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const long* stp_curve_get_long_data </td> + <td class="memname">const long* stp_curve_get_long_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as longs. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as longs. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g569aae57147ed7681f23e0e60bd8af35"></a><!-- doxytag: member="curve.h::stp_curve_get_point" ref="g569aae57147ed7681f23e0e60bd8af35" args="(const stp_curve_t *curve, size_t where, double *data)" --> +</div> +<a class="anchor" id="ga569aae57147ed7681f23e0e60bd8af35"></a><!-- doxytag: member="curve.h::stp_curve_get_point" ref="ga569aae57147ed7681f23e0e60bd8af35" args="(const stp_curve_t *curve, size_t where, double *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_get_point </td> + <td class="memname">int stp_curve_get_point </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>where</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>where</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">double * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get a point along the curve. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>where</em> </td><td>the point to get. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to a double to store the value of where in. </td></tr> +<p>Get a point along the curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">where</td><td>the point to get. </td></tr> + <tr><td class="paramname">data</td><td>a pointer to a double to store the value of where in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if where is outside of the number of valid points. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if where is outside of the number of valid points. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcb8e51731b9385556747744a0d4f43fb"></a><!-- doxytag: member="curve.h::stp_curve_get_range" ref="gcb8e51731b9385556747744a0d4f43fb" args="(const stp_curve_t *curve, double *low, double *high)" --> +</div> +<a class="anchor" id="gacb8e51731b9385556747744a0d4f43fb"></a><!-- doxytag: member="curve.h::stp_curve_get_range" ref="gacb8e51731b9385556747744a0d4f43fb" args="(const stp_curve_t *curve, double *low, double *high)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void stp_curve_get_range </td> + <td class="memname">void stp_curve_get_range </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double * </td> - <td class="paramname"> <em>low</em>, </td> + <td class="paramtype">double * </td> + <td class="paramname"><em>low</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double * </td> - <td class="paramname"> <em>high</em></td><td> </td> + <td class="paramtype">double * </td> + <td class="paramname"><em>high</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> - </div> -</div><p> -<a class="anchor" name="gde323594e84d4380c88ecf122a5a4da8"></a><!-- doxytag: member="curve.h::stp_curve_get_sequence" ref="gde323594e84d4380c88ecf122a5a4da8" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="gade323594e84d4380c88ecf122a5a4da8"></a><!-- doxytag: member="curve.h::stp_curve_get_sequence" ref="gade323594e84d4380c88ecf122a5a4da8" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const <a class="el" href="group__sequence.html#g327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a>* stp_curve_get_sequence </td> + <td class="memname">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a>* stp_curve_get_sequence </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get the underlying stp_sequence_t data structure which stp_curve_t is derived from. -<p> -This can be used for fast access to the raw data. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Get the underlying stp_sequence_t data structure which stp_curve_t is derived from. </p> +<p>This can be used for fast access to the raw data. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the stp_sequence_t. If the curve is a piecewise curve, the sequence returned is NULL; </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the stp_sequence_t. If the curve is a piecewise curve, the sequence returned is NULL; </dd></dl> </div> -</div><p> -<a class="anchor" name="g87c5d1904efa58be8a21ab6b2c41d0b9"></a><!-- doxytag: member="curve.h::stp_curve_get_short_data" ref="g87c5d1904efa58be8a21ab6b2c41d0b9" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="ga87c5d1904efa58be8a21ab6b2c41d0b9"></a><!-- doxytag: member="curve.h::stp_curve_get_short_data" ref="ga87c5d1904efa58be8a21ab6b2c41d0b9" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const short* stp_curve_get_short_data </td> + <td class="memname">const short* stp_curve_get_short_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as shorts. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as shorts. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><!-- doxytag: member="curve.h::stp_curve_get_subrange" ref="g5cbf7c4b6ad96ecb35fc06f46c0319f0" args="(const stp_curve_t *curve, size_t start, size_t count)" --> +</div> +<a class="anchor" id="ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><!-- doxytag: member="curve.h::stp_curve_get_subrange" ref="ga5cbf7c4b6ad96ecb35fc06f46c0319f0" args="(const stp_curve_t *curve, size_t start, size_t count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_get_subrange </td> + <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_get_subrange </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>start</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get a curve containing a subrange of data. -<p> -If the start or count is invalid, the returned curve will compare equal to NULL (i. e. it will be a null pointer). start and count must not exceed the number of points in the curve, and count must be at least 2. The curve must be a dense (equally-spaced) curve <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>start</em> </td><td>the start of the subrange. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of point starting at start. </td></tr> +<p>Get a curve containing a subrange of data. </p> +<p>If the start or count is invalid, the returned curve will compare equal to NULL (i. e. it will be a null pointer). start and count must not exceed the number of points in the curve, and count must be at least 2. The curve must be a dense (equally-spaced) curve </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">start</td><td>the start of the subrange. </td></tr> + <tr><td class="paramname">count</td><td>the number of point starting at start. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a curve containing the subrange. The returned curve is non-wrapping. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a curve containing the subrange. The returned curve is non-wrapping. </dd></dl> </div> -</div><p> -<a class="anchor" name="g19b3160a57dc6959fe08c631c7206a8a"></a><!-- doxytag: member="curve.h::stp_curve_get_uint_data" ref="g19b3160a57dc6959fe08c631c7206a8a" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="ga19b3160a57dc6959fe08c631c7206a8a"></a><!-- doxytag: member="curve.h::stp_curve_get_uint_data" ref="ga19b3160a57dc6959fe08c631c7206a8a" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const unsigned int* stp_curve_get_uint_data </td> + <td class="memname">const unsigned int* stp_curve_get_uint_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as unsigned integers. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as unsigned integers. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g24a862eda4cdbb626f51aeb7d8ae9a50"></a><!-- doxytag: member="curve.h::stp_curve_get_ulong_data" ref="g24a862eda4cdbb626f51aeb7d8ae9a50" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="ga24a862eda4cdbb626f51aeb7d8ae9a50"></a><!-- doxytag: member="curve.h::stp_curve_get_ulong_data" ref="ga24a862eda4cdbb626f51aeb7d8ae9a50" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const unsigned long* stp_curve_get_ulong_data </td> + <td class="memname">const unsigned long* stp_curve_get_ulong_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as unsigned longs. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as unsigned longs. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga02125af6b9c192e34985851370391b8"></a><!-- doxytag: member="curve.h::stp_curve_get_ushort_data" ref="ga02125af6b9c192e34985851370391b8" args="(const stp_curve_t *curve, size_t *count)" --> +</div> +<a class="anchor" id="gaa02125af6b9c192e34985851370391b8"></a><!-- doxytag: member="curve.h::stp_curve_get_ushort_data" ref="gaa02125af6b9c192e34985851370391b8" args="(const stp_curve_t *curve, size_t *count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">const unsigned short* stp_curve_get_ushort_data </td> + <td class="memname">const unsigned short* stp_curve_get_ushort_data </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>count</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>count</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get pointer to the curve's raw data as unsigned shorts. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>a pointer to a size_t to store the curve size in. </td></tr> +<p>Get pointer to the curve's raw data as unsigned shorts. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the curve data. This data is not guaranteed to be valid beyond the next non-const curve call. If the curve is a pure gamma curve (no associated points), NULL is returned and the count is 0. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g859020827897bac0f4671322ec027dc4"></a><!-- doxytag: member="curve.h::stp_curve_get_wrap" ref="g859020827897bac0f4671322ec027dc4" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga859020827897bac0f4671322ec027dc4"></a><!-- doxytag: member="curve.h::stp_curve_get_wrap" ref="ga859020827897bac0f4671322ec027dc4" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="group__curve.html#g3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> stp_curve_get_wrap </td> + <td class="memname"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> stp_curve_get_wrap </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Get the wrapping mode. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Get the wrapping mode. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the wrapping mode. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>the wrapping mode. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb33642ee6c49334f379a4dc185ecd355"></a><!-- doxytag: member="curve.h::stp_curve_interpolate_value" ref="gb33642ee6c49334f379a4dc185ecd355" args="(const stp_curve_t *curve, double where, double *result)" --> +</div> +<a class="anchor" id="gab33642ee6c49334f379a4dc185ecd355"></a><!-- doxytag: member="curve.h::stp_curve_interpolate_value" ref="gab33642ee6c49334f379a4dc185ecd355" args="(const stp_curve_t *curve, double where, double *result)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_interpolate_value </td> + <td class="memname">int stp_curve_interpolate_value </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double </td> - <td class="paramname"> <em>where</em>, </td> + <td class="paramtype">double </td> + <td class="paramname"><em>where</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double * </td> - <td class="paramname"> <em>result</em></td><td> </td> + <td class="paramtype">double * </td> + <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Interpolate a point along the curve. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>where</em> </td><td>the point to interpolate. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>a pointer to double to store the value of where in. If interpolation would produce a value outside of the allowed range (as could happen with spline interpolation), the value is clipped to the range. </td></tr> +<p>Interpolate a point along the curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">where</td><td>the point to interpolate. </td></tr> + <tr><td class="paramname">result</td><td>a pointer to double to store the value of where in. If interpolation would produce a value outside of the allowed range (as could happen with spline interpolation), the value is clipped to the range. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if 'where' is less than 0 or greater than the number of points, an error is returned. Also returns FALSE if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if 'where' is less than 0 or greater than the number of points, an error is returned. Also returns FALSE if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g29b022a3055afe0b48d1f2736ff2f4da"></a><!-- doxytag: member="curve.h::stp_curve_is_piecewise" ref="g29b022a3055afe0b48d1f2736ff2f4da" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="ga29b022a3055afe0b48d1f2736ff2f4da"></a><!-- doxytag: member="curve.h::stp_curve_is_piecewise" ref="ga29b022a3055afe0b48d1f2736ff2f4da" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_is_piecewise </td> + <td class="memname">int stp_curve_is_piecewise </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Determine whether the curve is piecewise. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Determine whether the curve is piecewise. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>whether the curve is piecewise </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>whether the curve is piecewise </dd></dl> </div> -</div><p> -<a class="anchor" name="g87298cf562468cbcf2c1f76a0ab80b62"></a><!-- doxytag: member="curve.h::stp_curve_resample" ref="g87298cf562468cbcf2c1f76a0ab80b62" args="(stp_curve_t *curve, size_t points)" --> +</div> +<a class="anchor" id="ga87298cf562468cbcf2c1f76a0ab80b62"></a><!-- doxytag: member="curve.h::stp_curve_resample" ref="ga87298cf562468cbcf2c1f76a0ab80b62" args="(stp_curve_t *curve, size_t points)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_resample </td> + <td class="memname">int stp_curve_resample </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>points</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>points</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Resample a curve (change the number of points). -<p> -This does not destroy the gamma value of a curve. Points are interpolated as required; any interpolation that would place points outside of the bounds of the curve will be clipped to the bounds. The resulting curve is always dense (equally-spaced). This is the correct way to convert a piecewise curve to an equally-spaced curve. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use (must not exceed 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>points</em> </td><td>the number of points. </td></tr> +<p>Resample a curve (change the number of points). </p> +<p>This does not destroy the gamma value of a curve. Points are interpolated as required; any interpolation that would place points outside of the bounds of the curve will be clipped to the bounds. The resulting curve is always dense (equally-spaced). This is the correct way to convert a piecewise curve to an equally-spaced curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use (must not exceed 1048576). </td></tr> + <tr><td class="paramname">points</td><td>the number of points. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if the number of points is invalid (less than two, except that zero points is permitted for a gamma curve). </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if the number of points is invalid (less than two, except that zero points is permitted for a gamma curve). </dd></dl> </div> -</div><p> -<a class="anchor" name="gad611b3ddbd667ec204fa7b42f8d7546"></a><!-- doxytag: member="curve.h::stp_curve_rescale" ref="gad611b3ddbd667ec204fa7b42f8d7546" args="(stp_curve_t *curve, double scale, stp_curve_compose_t mode, stp_curve_bounds_t bounds_mode)" --> +</div> +<a class="anchor" id="gaad611b3ddbd667ec204fa7b42f8d7546"></a><!-- doxytag: member="curve.h::stp_curve_rescale" ref="gaad611b3ddbd667ec204fa7b42f8d7546" args="(stp_curve_t *curve, double scale, stp_curve_compose_t mode, stp_curve_bounds_t bounds_mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_rescale </td> + <td class="memname">int stp_curve_rescale </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double </td> - <td class="paramname"> <em>scale</em>, </td> + <td class="paramtype">double </td> + <td class="paramname"><em>scale</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="group__curve.html#g7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> </td> - <td class="paramname"> <em>mode</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> </td> + <td class="paramname"><em>mode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="group__curve.html#g86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> </td> - <td class="paramname"> <em>bounds_mode</em></td><td> </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> </td> + <td class="paramname"><em>bounds_mode</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Rescale a curve (multiply all points by a scaling constant). -<p> -This also rescales the bounds. Note that this currently destroys the gamma property of the curve. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>scale</em> </td><td>the scaling factor. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>the composition mode. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>bounds_mode</em> </td><td>the bounds exceeding mode. </td></tr> +<p>Rescale a curve (multiply all points by a scaling constant). </p> +<p>This also rescales the bounds. Note that this currently destroys the gamma property of the curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">scale</td><td>the scaling factor. </td></tr> + <tr><td class="paramname">mode</td><td>the composition mode. </td></tr> + <tr><td class="paramname">bounds_mode</td><td>the bounds exceeding mode. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if this would exceed floating point limits </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if this would exceed floating point limits </dd></dl> </div> -</div><p> -<a class="anchor" name="g3416157017287eae136fb928802be234"></a><!-- doxytag: member="curve.h::stp_curve_reverse" ref="g3416157017287eae136fb928802be234" args="(stp_curve_t *dest, const stp_curve_t *source)" --> +</div> +<a class="anchor" id="ga3416157017287eae136fb928802be234"></a><!-- doxytag: member="curve.h::stp_curve_reverse" ref="ga3416157017287eae136fb928802be234" args="(stp_curve_t *dest, const stp_curve_t *source)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void stp_curve_reverse </td> + <td class="memname">void stp_curve_reverse </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>dest</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>source</em></td><td> </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>source</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Reverse a curve. -<p> -Both dest and source must be valid curves previously created with <a class="el" href="group__curve.html#g6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the destination curve. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source curve. </td></tr> +<p>Reverse a curve. </p> +<p>Both dest and source must be valid curves previously created with <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">dest</td><td>the destination curve. </td></tr> + <tr><td class="paramname">source</td><td>the source curve. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="ge32fb850963b8694d3739c0ed8475f75"></a><!-- doxytag: member="curve.h::stp_curve_set_bounds" ref="ge32fb850963b8694d3739c0ed8475f75" args="(stp_curve_t *curve, double low, double high)" --> +</div> +<a class="anchor" id="gae32fb850963b8694d3739c0ed8475f75"></a><!-- doxytag: member="curve.h::stp_curve_set_bounds" ref="gae32fb850963b8694d3739c0ed8475f75" args="(stp_curve_t *curve, double low, double high)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_bounds </td> + <td class="memname">int stp_curve_set_bounds </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double </td> - <td class="paramname"> <em>low</em>, </td> + <td class="paramtype">double </td> + <td class="paramname"><em>low</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double </td> - <td class="paramname"> <em>high</em></td><td> </td> + <td class="paramtype">double </td> + <td class="paramname"><em>high</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the lower and upper bounds on a curve. -<p> -To change the bounds adjusting data as required, use stp_curve_rescale instead. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>low</em> </td><td>the lower bound. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>high</em> </td><td>the upper bound. </td></tr> +<p>Set the lower and upper bounds on a curve. </p> +<p>To change the bounds adjusting data as required, use stp_curve_rescale instead. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">low</td><td>the lower bound. </td></tr> + <tr><td class="paramname">high</td><td>the upper bound. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if any existing points on the curve are outside the bounds. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if any existing points on the curve are outside the bounds. </dd></dl> </div> -</div><p> -<a class="anchor" name="g81bceb4cb991cef1cda2298cf7bb9f15"></a><!-- doxytag: member="curve.h::stp_curve_set_data" ref="g81bceb4cb991cef1cda2298cf7bb9f15" args="(stp_curve_t *curve, size_t count, const double *data)" --> +</div> +<a class="anchor" id="ga81bceb4cb991cef1cda2298cf7bb9f15"></a><!-- doxytag: member="curve.h::stp_curve_set_data" ref="ga81bceb4cb991cef1cda2298cf7bb9f15" args="(stp_curve_t *curve, size_t count, const double *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_data </td> + <td class="memname">int stp_curve_set_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const double * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const double * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set all data points of the curve. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of doubles (must be at least count in size). </td></tr> +<p>Set all data points of the curve. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of doubles (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gce09cab4e6ae3d55f75aacae3689e8e6"></a><!-- doxytag: member="curve.h::stp_curve_set_data_points" ref="gce09cab4e6ae3d55f75aacae3689e8e6" args="(stp_curve_t *curve, size_t count, const stp_curve_point_t *data)" --> +</div> +<a class="anchor" id="gace09cab4e6ae3d55f75aacae3689e8e6"></a><!-- doxytag: member="curve.h::stp_curve_set_data_points" ref="gace09cab4e6ae3d55f75aacae3689e8e6" args="(stp_curve_t *curve, size_t count, const stp_curve_point_t *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_data_points </td> + <td class="memname">int stp_curve_set_data_points </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set all data points of the curve. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a piecewise curve. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of points (must be at least count in size). The first point must have X=0, and each point must have an X value at least .000001 greater than the previous point. If the curve is not a wraparound curve, the last point must have X=1. </td></tr> +<p>Set all data points of the curve. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a piecewise curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of points (must be at least count in size). The first point must have X=0, and each point must have an X value at least .000001 greater than the previous point. If the curve is not a wraparound curve, the last point must have X=1. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbd7a39289471607311141c7fc3bbb415"></a><!-- doxytag: member="curve.h::stp_curve_set_float_data" ref="gbd7a39289471607311141c7fc3bbb415" args="(stp_curve_t *curve, size_t count, const float *data)" --> +</div> +<a class="anchor" id="gabd7a39289471607311141c7fc3bbb415"></a><!-- doxytag: member="curve.h::stp_curve_set_float_data" ref="gabd7a39289471607311141c7fc3bbb415" args="(stp_curve_t *curve, size_t count, const float *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_float_data </td> + <td class="memname">int stp_curve_set_float_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const float * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const float * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from float values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of floats (must be at least count in size). </td></tr> +<p>Set the data points in a curve from float values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of floats (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcb8a2b9b21f97f32faacb99a6125e152"></a><!-- doxytag: member="curve.h::stp_curve_set_gamma" ref="gcb8a2b9b21f97f32faacb99a6125e152" args="(stp_curve_t *curve, double f_gamma)" --> +</div> +<a class="anchor" id="gacb8a2b9b21f97f32faacb99a6125e152"></a><!-- doxytag: member="curve.h::stp_curve_set_gamma" ref="gacb8a2b9b21f97f32faacb99a6125e152" args="(stp_curve_t *curve, double f_gamma)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_gamma </td> + <td class="memname">int stp_curve_set_gamma </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double </td> - <td class="paramname"> <em>f_gamma</em></td><td> </td> + <td class="paramtype">double </td> + <td class="paramname"><em>f_gamma</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the gamma of a curve. -<p> -This replaces all existing points along the curve. The bounds are set to 0..1. If the gamma value is positive, the function is increasing; if negative, the function is decreasing. Count must be either 0 or at least 2. If the count is zero, the gamma of the curve is set for interpolation purposes, but points cannot be assigned to. It is illegal to set gamma on a wrap-mode curve. The resulting curve is treated as a dense (equally-spaced) curve. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>f_gamma</em> </td><td>the gamma value to set. </td></tr> +<p>Set the gamma of a curve. </p> +<p>This replaces all existing points along the curve. The bounds are set to 0..1. If the gamma value is positive, the function is increasing; if negative, the function is decreasing. Count must be either 0 or at least 2. If the count is zero, the gamma of the curve is set for interpolation purposes, but points cannot be assigned to. It is illegal to set gamma on a wrap-mode curve. The resulting curve is treated as a dense (equally-spaced) curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">f_gamma</td><td>the gamma value to set. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if the gamma value is illegal (0, infinity, or NaN), or if the curve wraps around. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if the gamma value is illegal (0, infinity, or NaN), or if the curve wraps around. </dd></dl> </div> -</div><p> -<a class="anchor" name="g31e76843f4d2f207701755b58766a670"></a><!-- doxytag: member="curve.h::stp_curve_set_int_data" ref="g31e76843f4d2f207701755b58766a670" args="(stp_curve_t *curve, size_t count, const int *data)" --> +</div> +<a class="anchor" id="ga31e76843f4d2f207701755b58766a670"></a><!-- doxytag: member="curve.h::stp_curve_set_int_data" ref="ga31e76843f4d2f207701755b58766a670" args="(stp_curve_t *curve, size_t count, const int *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_int_data </td> + <td class="memname">int stp_curve_set_int_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const int * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const int * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from integer values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of integers (must be at least count in size). </td></tr> +<p>Set the data points in a curve from integer values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of integers (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g82890cef78f5861a88c5789c33693423"></a><!-- doxytag: member="curve.h::stp_curve_set_interpolation_type" ref="g82890cef78f5861a88c5789c33693423" args="(stp_curve_t *curve, stp_curve_type_t itype)" --> +</div> +<a class="anchor" id="ga82890cef78f5861a88c5789c33693423"></a><!-- doxytag: member="curve.h::stp_curve_set_interpolation_type" ref="ga82890cef78f5861a88c5789c33693423" args="(stp_curve_t *curve, stp_curve_type_t itype)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_interpolation_type </td> + <td class="memname">int stp_curve_set_interpolation_type </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="group__curve.html#g982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> </td> - <td class="paramname"> <em>itype</em></td><td> </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> </td> + <td class="paramname"><em>itype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the curve interpolation type. -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>itype</em> </td><td>the interpolation type. </td></tr> +<p>Set the curve interpolation type. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">itype</td><td>the interpolation type. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, or 0 if itype is invalid. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, or 0 if itype is invalid. </dd></dl> </div> -</div><p> -<a class="anchor" name="ge6a435a21a5c4b5e582d42095a7b06fc"></a><!-- doxytag: member="curve.h::stp_curve_set_long_data" ref="ge6a435a21a5c4b5e582d42095a7b06fc" args="(stp_curve_t *curve, size_t count, const long *data)" --> +</div> +<a class="anchor" id="gae6a435a21a5c4b5e582d42095a7b06fc"></a><!-- doxytag: member="curve.h::stp_curve_set_long_data" ref="gae6a435a21a5c4b5e582d42095a7b06fc" args="(stp_curve_t *curve, size_t count, const long *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_long_data </td> + <td class="memname">int stp_curve_set_long_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const long * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const long * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from long values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of longs (must be at least count in size). </td></tr> +<p>Set the data points in a curve from long values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of longs (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g2d3b8372bde3fce699a3b7bb3c9d8582"></a><!-- doxytag: member="curve.h::stp_curve_set_point" ref="g2d3b8372bde3fce699a3b7bb3c9d8582" args="(stp_curve_t *curve, size_t where, double data)" --> +</div> +<a class="anchor" id="ga2d3b8372bde3fce699a3b7bb3c9d8582"></a><!-- doxytag: member="curve.h::stp_curve_set_point" ref="ga2d3b8372bde3fce699a3b7bb3c9d8582" args="(stp_curve_t *curve, size_t where, double data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_point </td> + <td class="memname">int stp_curve_set_point </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>where</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>where</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">double </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">double </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set a point along the curve. -<p> -This call destroys any gamma value assigned to the curve. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>where</em> </td><td>the point to set. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the value to set where to. </td></tr> +<p>Set a point along the curve. </p> +<p>This call destroys any gamma value assigned to the curve. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">where</td><td>the point to set. </td></tr> + <tr><td class="paramname">data</td><td>the value to set where to. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>FALSE if data is outside the valid bounds or if where is outside the number of valid points. This also returns NULL if the curve is a piecewise curve. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if data is outside the valid bounds or if where is outside the number of valid points. This also returns NULL if the curve is a piecewise curve. </dd></dl> </div> -</div><p> -<a class="anchor" name="g2fa5222aab07e85f215e389734b6dbea"></a><!-- doxytag: member="curve.h::stp_curve_set_short_data" ref="g2fa5222aab07e85f215e389734b6dbea" args="(stp_curve_t *curve, size_t count, const short *data)" --> +</div> +<a class="anchor" id="ga2fa5222aab07e85f215e389734b6dbea"></a><!-- doxytag: member="curve.h::stp_curve_set_short_data" ref="ga2fa5222aab07e85f215e389734b6dbea" args="(stp_curve_t *curve, size_t count, const short *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_short_data </td> + <td class="memname">int stp_curve_set_short_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const short * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const short * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from short values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of shorts (must be at least count in size). </td></tr> +<p>Set the data points in a curve from short values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of shorts (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g73dfcc4c95734449965227e21deb3037"></a><!-- doxytag: member="curve.h::stp_curve_set_subrange" ref="g73dfcc4c95734449965227e21deb3037" args="(stp_curve_t *curve, const stp_curve_t *range, size_t start)" --> +</div> +<a class="anchor" id="ga73dfcc4c95734449965227e21deb3037"></a><!-- doxytag: member="curve.h::stp_curve_set_subrange" ref="ga73dfcc4c95734449965227e21deb3037" args="(stp_curve_t *curve, const stp_curve_t *range, size_t start)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_subrange </td> + <td class="memname">int stp_curve_set_subrange </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>range</em>, </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>range</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>start</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>start</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> - </div> -</div><p> -<a class="anchor" name="g3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><!-- doxytag: member="curve.h::stp_curve_set_uint_data" ref="g3ee80f8e4f33691a78b3ad8c3fd7c34f" args="(stp_curve_t *curve, size_t count, const unsigned int *data)" --> +</div> +<a class="anchor" id="ga3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><!-- doxytag: member="curve.h::stp_curve_set_uint_data" ref="ga3ee80f8e4f33691a78b3ad8c3fd7c34f" args="(stp_curve_t *curve, size_t count, const unsigned int *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_uint_data </td> + <td class="memname">int stp_curve_set_uint_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const unsigned int * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const unsigned int * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from unsigned integer values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of unsigned integers (must be at least count in size). </td></tr> +<p>Set the data points in a curve from unsigned integer values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of unsigned integers (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g723173297f5b67af937205c7d74ac353"></a><!-- doxytag: member="curve.h::stp_curve_set_ulong_data" ref="g723173297f5b67af937205c7d74ac353" args="(stp_curve_t *curve, size_t count, const unsigned long *data)" --> +</div> +<a class="anchor" id="ga723173297f5b67af937205c7d74ac353"></a><!-- doxytag: member="curve.h::stp_curve_set_ulong_data" ref="ga723173297f5b67af937205c7d74ac353" args="(stp_curve_t *curve, size_t count, const unsigned long *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_ulong_data </td> + <td class="memname">int stp_curve_set_ulong_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const unsigned long * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const unsigned long * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from unsigned long values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of unsigned longs (must be at least count in size). </td></tr> +<p>Set the data points in a curve from unsigned long values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of unsigned longs (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0af395eefa7bfe0d19acc1acbaeefe48"></a><!-- doxytag: member="curve.h::stp_curve_set_ushort_data" ref="g0af395eefa7bfe0d19acc1acbaeefe48" args="(stp_curve_t *curve, size_t count, const unsigned short *data)" --> +</div> +<a class="anchor" id="ga0af395eefa7bfe0d19acc1acbaeefe48"></a><!-- doxytag: member="curve.h::stp_curve_set_ushort_data" ref="ga0af395eefa7bfe0d19acc1acbaeefe48" args="(stp_curve_t *curve, size_t count, const unsigned short *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_set_ushort_data </td> + <td class="memname">int stp_curve_set_ushort_data </td> <td>(</td> - <td class="paramtype"><a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em>, </td> + <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>count</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const unsigned short * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">const unsigned short * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Set the data points in a curve from unsigned short values. -<p> -If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a pointer to an array of unsigned shorts (must be at least count in size). </td></tr> +<p>Set the data points in a curve from unsigned short values. </p> +<p>If any of the data points fall outside the bounds, the operation is not performed and FALSE is returned. This creates a curve with equally-spaced points. </p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> + <tr><td class="paramname">count</td><td>the number of the number of points (must be at least two and not more than 1048576). </td></tr> + <tr><td class="paramname">data</td><td>a pointer to an array of unsigned shorts (must be at least count in size). </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc12af55cf0eb2f76db967886f8996313"></a><!-- doxytag: member="curve.h::stp_curve_write" ref="gc12af55cf0eb2f76db967886f8996313" args="(FILE *file, const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="gac12af55cf0eb2f76db967886f8996313"></a><!-- doxytag: member="curve.h::stp_curve_write" ref="gac12af55cf0eb2f76db967886f8996313" args="(FILE *file, const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int stp_curve_write </td> + <td class="memname">int stp_curve_write </td> <td>(</td> - <td class="paramtype">FILE * </td> - <td class="paramname"> <em>file</em>, </td> + <td class="paramtype">FILE * </td> + <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em></td><td> </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Write a curve to a file. -<p> -The printable representation is guaranteed to contain only 7-bit printable ASCII characters, and is null-terminated. The curve will not contain any space, newline, single quote, or comma characters. Furthermore, a printed curve will be read back correctly in all locales. These calls are not guaranteed to provide more than 6 decimal places of precision or +/-0.5e-6 accuracy, whichever is less. <dl class="warning" compact><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> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>file</em> </td><td>the file to write. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Write a curve to a file. </p> +<p>The printable representation is guaranteed to contain only 7-bit printable ASCII characters, and is null-terminated. The curve will not contain any space, newline, single quote, or comma characters. Furthermore, a printed curve will be read back correctly in all locales. These calls are not guaranteed to provide more than 6 decimal places of precision or +/-0.5e-6 accuracy, whichever is less. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">file</td><td>the file to write. </td></tr> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf2f0da590278ff74af1eccb0aa0c7169"></a><!-- doxytag: member="curve.h::stp_curve_write_string" ref="gf2f0da590278ff74af1eccb0aa0c7169" args="(const stp_curve_t *curve)" --> +</div> +<a class="anchor" id="gaf2f0da590278ff74af1eccb0aa0c7169"></a><!-- doxytag: member="curve.h::stp_curve_write_string" ref="gaf2f0da590278ff74af1eccb0aa0c7169" args="(const stp_curve_t *curve)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">char* stp_curve_write_string </td> + <td class="memname">char* stp_curve_write_string </td> <td>(</td> - <td class="paramtype">const <a class="el" href="group__curve.html#g375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> - <td class="paramname"> <em>curve</em> </td> - <td> ) </td> + <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> * </td> + <td class="paramname"><em>curve</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> -<p> -Write a curve to a string. -<p> -The printable representation is guaranteed to contain only 7-bit printable ASCII characters, and is null-terminated. The curve will not contain any space, newline, or comma characters. Furthermore, a printed curve will be read back correctly in all locales. These calls are not guaranteed to provide more than 6 decimal places of precision or +/-0.5e-6 accuracy, whichever is less. <dl class="warning" compact><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> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>curve</em> </td><td>the curve to use. </td></tr> +<p>Write a curve to a string. </p> +<p>The printable representation is guaranteed to contain only 7-bit printable ASCII characters, and is null-terminated. The curve will not contain any space, newline, or comma characters. Furthermore, a printed curve will be read back correctly in all locales. These calls are not guaranteed to provide more than 6 decimal places of precision or +/-0.5e-6 accuracy, whichever is less. </p> +<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> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">curve</td><td>the curve to use. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to a string. This is allocated on the heap, and it is the caller's responsibility to free it. </dd></dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to a string. This is allocated on the heap, and it is the caller's responsibility to free it. </dd></dl> </div> -</div><p> </div> -<hr size="1"><address style="text-align: right;"><small>Generated on Tue Aug 10 20:32:51 2010 for libgutenprint API Reference by +</div> +<hr class="footer"/><address class="footer"><small>Generated by  <a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> +<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html> |