~ubuntu-branches/ubuntu/quantal/gutenprint/quantal

« back to all changes in this revision

Viewing changes to doc/gutenprint/html/group__curve.html

  • Committer: Package Import Robot
  • Author(s): Till Kamppeter
  • Date: 2012-06-19 17:12:48 UTC
  • mfrom: (1.1.15)
  • Revision ID: package-import@ubuntu.com-20120619171248-cbil10m2dqnc71rr
Tags: 5.2.8-0ubuntu1
* New upstream release
   - Added support for Canon PIXMA DS700, DS810, 50i, 80i, 450i, 455i, 470PD,
     475PD, 550i, 560i, 850i, 860i, 865R, 900PD, 950i, 960i, 990i, 6100i,
     6500i, 9100i, 9900i, i450X, i455X, i475D, i550X, i560X, i905D, i965,
     i990, i9950, iP90, iP90v, iP100, iP6320D, MP260, MX320, MX370, MX430,
     MX510, MX710, MX890, E500, E600, PIXUS iP2700, iP3100, iP4100,
     EPSON Stylus NX420, SX420, TX420
   - CD printing on many Canon printers.
   - Non-working Canon's removed.
   - More Japanese models supported.
   - Printer modes for most printer models are now determined by the
     media, based on information from the corresponding Windows
     driver. If an incompatible mode is selected by the user, a
     suitable mode is substituted, based on the other active
     parameters and quality setting. Modes are also substituted
     based on cartridge selection and duplex selection. Inktype is
     then automatically adjusted.
   - Added support for 8-bit inks to Canon backend, and modes using
     them.
   - Adjusted margins and page sizes of Canon printers.
   - Added borderless functionality to most Canon printers.
   - A problem whereby printing did not work at all on some Linux
     distributions has been fixed.
   - Printing on the Epson Stylus NX200, SX200, and SX205 is believed
     to be corrected.
* debian/patches/0002-genppd-don-t-write-color-profile-information-with-br.patch,
  debian/patches/0003-upgrade-getopt.patch,
  debian/patches/0004-no-data-dumper-needed.patch,
  debian/patches/0005-use-dnointerpolate-in-ghostscript-command-lines.patch:
  Removed, change applied upstream.
* debian/rules: Touch ppd-updater file(s) so that they have the time stamp
  of the build of this package The time stamp of the ppd-updater files tells
  CUPS' trigger script whether they come from different package versions or
  not (LP: #932882).

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
6
<title>libgutenprint API Reference: curve</title>
7
 
 
8
7
<link href="tabs.css" rel="stylesheet" type="text/css"/>
 
8
<script type="text/javascript" src="jquery.js"></script>
 
9
<script type="text/javascript" src="dynsections.js"></script>
9
10
<link href="doxygen.css" rel="stylesheet" type="text/css" />
10
 
 
11
 
 
12
 
 
13
11
</head>
14
12
<body>
15
 
<div id="top"><!-- do not remove this div! -->
16
 
 
17
 
 
 
13
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
18
14
<div id="titlearea">
19
15
<table cellspacing="0" cellpadding="0">
20
16
 <tbody>
21
17
 <tr style="height: 56px;">
22
 
  
23
 
  
24
18
  <td style="padding-left: 0.5em;">
25
19
   <div id="projectname">libgutenprint API Reference
26
 
   &#160;<span id="projectnumber">5.2.8-pre1</span>
 
20
   &#160;<span id="projectnumber">5.2.8</span>
27
21
   </div>
28
 
   
29
22
  </td>
30
 
  
31
 
  
32
 
  
33
23
 </tr>
34
24
 </tbody>
35
25
</table>
36
26
</div>
37
 
 
38
 
<!-- Generated by Doxygen 1.7.6.1 -->
 
27
<!-- end header part -->
 
28
<!-- Generated by Doxygen 1.8.1 -->
39
29
  <div id="navrow1" class="tabs">
40
30
    <ul class="tablist">
41
31
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
45
35
      <li><a href="files.html"><span>Files</span></a></li>
46
36
    </ul>
47
37
  </div>
48
 
</div>
 
38
</div><!-- top -->
49
39
<div class="header">
50
40
  <div class="summary">
51
41
<a href="#nested-classes">Data Structures</a> &#124;
60
50
<p>The curve type models a linear, spline or gamma curve.  
61
51
<a href="#details">More...</a></p>
62
52
<table class="memberdecls">
63
 
<tr><td colspan="2"><h2><a name="nested-classes"></a>
 
53
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
64
54
Data Structures</h2></td></tr>
65
 
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a></td></tr>
66
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Point (x,y) for piecewise curve.  <a href="structstp__curve__point__t.html#details">More...</a><br/></td></tr>
67
 
<tr><td colspan="2"><h2><a name="typedef-members"></a>
 
55
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a></td></tr>
 
56
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Point (x,y) for piecewise curve.  <a href="structstp__curve__point__t.html#details">More...</a><br/></td></tr>
 
57
</table><table class="memberdecls">
 
58
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
68
59
Typedefs</h2></td></tr>
69
 
<tr><td class="memItemLeft" align="right" valign="top">typedef struct stp_curve&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td></tr>
70
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The curve opaque data type.  <a href="#ga375a2b23705fb0698ae1d823243c8524"></a><br/></td></tr>
71
 
<tr><td colspan="2"><h2><a name="enum-members"></a>
 
60
<tr class="memitem:ga375a2b23705fb0698ae1d823243c8524"><td class="memItemLeft" align="right" valign="top">typedef struct stp_curve&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td></tr>
 
61
<tr class="memdesc:ga375a2b23705fb0698ae1d823243c8524"><td class="mdescLeft">&#160;</td><td class="mdescRight">The curve opaque data type.  <a href="#ga375a2b23705fb0698ae1d823243c8524"></a><br/></td></tr>
 
62
</table><table class="memberdecls">
 
63
<tr class="heading"><td colspan="2"><h2><a name="enum-members"></a>
72
64
Enumerations</h2></td></tr>
73
 
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> { <a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3">STP_CURVE_TYPE_LINEAR</a>, 
 
65
<tr class="memitem:ga982f8191c84b049cc3ad3cee1558fc23"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> { <a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3">STP_CURVE_TYPE_LINEAR</a>, 
74
66
<a class="el" href="group__curve.html#gga982f8191c84b049cc3ad3cee1558fc23afb1ffdc3754f428d8e3a2124e014ff77">STP_CURVE_TYPE_SPLINE</a>
75
67
 }</td></tr>
76
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Curve types.  <a href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">More...</a><br/></td></tr>
77
 
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> { <a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a">STP_CURVE_WRAP_NONE</a>, 
 
68
<tr class="memdesc:ga982f8191c84b049cc3ad3cee1558fc23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Curve types.  <a href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">More...</a><br/></td></tr>
 
69
<tr class="memitem:ga3ae3af552b490b0ca8b02e442ac9547a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> { <a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a">STP_CURVE_WRAP_NONE</a>, 
78
70
<a class="el" href="group__curve.html#gga3ae3af552b490b0ca8b02e442ac9547aac0361aebddfabfb263dc0205a61f6fbd">STP_CURVE_WRAP_AROUND</a>
79
71
 }</td></tr>
80
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapping mode.  <a href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">More...</a><br/></td></tr>
81
 
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> { <a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3">STP_CURVE_COMPOSE_ADD</a>, 
 
72
<tr class="memdesc:ga3ae3af552b490b0ca8b02e442ac9547a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapping mode.  <a href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">More...</a><br/></td></tr>
 
73
<tr class="memitem:ga7eddbee28cb1f3c76a19408b86ea142e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> { <a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3">STP_CURVE_COMPOSE_ADD</a>, 
82
74
<a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142ead3bd2cdb63498d5d22686e79e2c0ed95">STP_CURVE_COMPOSE_MULTIPLY</a>, 
83
75
<a class="el" href="group__curve.html#gga7eddbee28cb1f3c76a19408b86ea142ea8de151149fdfd4fcca78826e6352246a">STP_CURVE_COMPOSE_EXPONENTIATE</a>
84
76
 }</td></tr>
85
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Composition types.  <a href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">More...</a><br/></td></tr>
86
 
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> { <a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3">STP_CURVE_BOUNDS_RESCALE</a>, 
 
77
<tr class="memdesc:ga7eddbee28cb1f3c76a19408b86ea142e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Composition types.  <a href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">More...</a><br/></td></tr>
 
78
<tr class="memitem:ga86d146e483ca1902f973d574f542b85f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> { <a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3">STP_CURVE_BOUNDS_RESCALE</a>, 
87
79
<a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85faec9e6673edac9d34e3aad376fa711aa5">STP_CURVE_BOUNDS_CLIP</a>, 
88
80
<a class="el" href="group__curve.html#gga86d146e483ca1902f973d574f542b85fad699d675d5df223055388cd83d0b362b">STP_CURVE_BOUNDS_ERROR</a>
89
81
 }</td></tr>
90
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Behaviour when curve exceeds bounds.  <a href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">More...</a><br/></td></tr>
91
 
<tr><td colspan="2"><h2><a name="func-members"></a>
 
82
<tr class="memdesc:ga86d146e483ca1902f973d574f542b85f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Behaviour when curve exceeds bounds.  <a href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">More...</a><br/></td></tr>
 
83
</table><table class="memberdecls">
 
84
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
92
85
Functions</h2></td></tr>
93
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> (<a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> wrap)</td></tr>
94
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new curve.  <a href="#ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><br/></td></tr>
95
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
96
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy and allocate a curve.  <a href="#ga972ed591394396e0c66e928a0695b3bf"></a><br/></td></tr>
97
 
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacd7861bf1c9d61ac4ec87844a15ab9d3">stp_curve_copy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
98
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a curve.  <a href="#gacd7861bf1c9d61ac4ec87844a15ab9d3"></a><br/></td></tr>
99
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
100
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse and allocate a curve.  <a href="#ga8c2aed234d3e4ddc4c239801be17bb73"></a><br/></td></tr>
101
 
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3416157017287eae136fb928802be234">stp_curve_reverse</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
102
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse a curve.  <a href="#ga3416157017287eae136fb928802be234"></a><br/></td></tr>
103
 
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
104
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy an curve.  <a href="#ga4294b85e848fe421496469e2406ef380"></a><br/></td></tr>
105
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae32fb850963b8694d3739c0ed8475f75">stp_curve_set_bounds</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double low, double high)</td></tr>
106
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the lower and upper bounds on a curve.  <a href="#gae32fb850963b8694d3739c0ed8475f75"></a><br/></td></tr>
107
 
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga63c3386fbfd75da9fe985673bf7b1ca3">stp_curve_get_bounds</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
108
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower and upper bounds on a curve.  <a href="#ga63c3386fbfd75da9fe985673bf7b1ca3"></a><br/></td></tr>
109
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga859020827897bac0f4671322ec027dc4">stp_curve_get_wrap</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
110
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the wrapping mode.  <a href="#ga859020827897bac0f4671322ec027dc4"></a><br/></td></tr>
111
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga29b022a3055afe0b48d1f2736ff2f4da">stp_curve_is_piecewise</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
112
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether the curve is piecewise.  <a href="#ga29b022a3055afe0b48d1f2736ff2f4da"></a><br/></td></tr>
113
 
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8e51731b9385556747744a0d4f43fb">stp_curve_get_range</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
114
 
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga766ff02b29b976372779f719076ad017">stp_curve_count_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
115
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of allocated points in the curve.  <a href="#ga766ff02b29b976372779f719076ad017"></a><br/></td></tr>
116
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga82890cef78f5861a88c5789c33693423">stp_curve_set_interpolation_type</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, <a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> itype)</td></tr>
117
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the curve interpolation type.  <a href="#ga82890cef78f5861a88c5789c33693423"></a><br/></td></tr>
118
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga42c98a6a6d2512516738b6df9367510e">stp_curve_get_interpolation_type</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
119
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the curve interpolation type.  <a href="#ga42c98a6a6d2512516738b6df9367510e"></a><br/></td></tr>
120
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga81bceb4cb991cef1cda2298cf7bb9f15">stp_curve_set_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const double *data)</td></tr>
121
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all data points of the curve.  <a href="#ga81bceb4cb991cef1cda2298cf7bb9f15"></a><br/></td></tr>
122
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gace09cab4e6ae3d55f75aacae3689e8e6">stp_curve_set_data_points</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *data)</td></tr>
123
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all data points of the curve.  <a href="#gace09cab4e6ae3d55f75aacae3689e8e6"></a><br/></td></tr>
124
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gabd7a39289471607311141c7fc3bbb415">stp_curve_set_float_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const float *data)</td></tr>
125
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from float values.  <a href="#gabd7a39289471607311141c7fc3bbb415"></a><br/></td></tr>
126
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae6a435a21a5c4b5e582d42095a7b06fc">stp_curve_set_long_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const long *data)</td></tr>
127
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from long values.  <a href="#gae6a435a21a5c4b5e582d42095a7b06fc"></a><br/></td></tr>
128
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga723173297f5b67af937205c7d74ac353">stp_curve_set_ulong_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned long *data)</td></tr>
129
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from unsigned long values.  <a href="#ga723173297f5b67af937205c7d74ac353"></a><br/></td></tr>
130
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga31e76843f4d2f207701755b58766a670">stp_curve_set_int_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const int *data)</td></tr>
131
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from integer values.  <a href="#ga31e76843f4d2f207701755b58766a670"></a><br/></td></tr>
132
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ee80f8e4f33691a78b3ad8c3fd7c34f">stp_curve_set_uint_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned int *data)</td></tr>
133
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from unsigned integer values.  <a href="#ga3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><br/></td></tr>
134
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2fa5222aab07e85f215e389734b6dbea">stp_curve_set_short_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const short *data)</td></tr>
135
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from short values.  <a href="#ga2fa5222aab07e85f215e389734b6dbea"></a><br/></td></tr>
136
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0af395eefa7bfe0d19acc1acbaeefe48">stp_curve_set_ushort_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned short *data)</td></tr>
137
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from unsigned short values.  <a href="#ga0af395eefa7bfe0d19acc1acbaeefe48"></a><br/></td></tr>
138
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga5cbf7c4b6ad96ecb35fc06f46c0319f0">stp_curve_get_subrange</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t start, size_t count)</td></tr>
139
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a curve containing a subrange of data.  <a href="#ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><br/></td></tr>
140
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga73dfcc4c95734449965227e21deb3037">stp_curve_set_subrange</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *range, size_t start)</td></tr>
141
 
<tr><td class="memItemLeft" align="right" valign="top">const double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab2208f56694e47e4300d10e057f59ee8">stp_curve_get_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
142
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the curve's raw data.  <a href="#gab2208f56694e47e4300d10e057f59ee8"></a><br/></td></tr>
143
 
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga79e0d6afa3573917c756af64b56a0d82">stp_curve_get_data_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
144
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the curve's raw data as points.  <a href="#ga79e0d6afa3573917c756af64b56a0d82"></a><br/></td></tr>
145
 
<tr><td class="memItemLeft" align="right" valign="top">const float *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga251f105cb5f2b126ea02b7908f717c18">stp_curve_get_float_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
146
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as floats.  <a href="#ga251f105cb5f2b126ea02b7908f717c18"></a><br/></td></tr>
147
 
<tr><td class="memItemLeft" align="right" valign="top">const long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf59bd38c9dfc7beb08a283dc9e400bf2">stp_curve_get_long_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
148
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as longs.  <a href="#gaf59bd38c9dfc7beb08a283dc9e400bf2"></a><br/></td></tr>
149
 
<tr><td class="memItemLeft" align="right" valign="top">const unsigned long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga24a862eda4cdbb626f51aeb7d8ae9a50">stp_curve_get_ulong_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
150
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned longs.  <a href="#ga24a862eda4cdbb626f51aeb7d8ae9a50"></a><br/></td></tr>
151
 
<tr><td class="memItemLeft" align="right" valign="top">const int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6de80e81b64262e0051441f697ae4de4">stp_curve_get_int_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
152
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as integers.  <a href="#ga6de80e81b64262e0051441f697ae4de4"></a><br/></td></tr>
153
 
<tr><td class="memItemLeft" align="right" valign="top">const unsigned int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga19b3160a57dc6959fe08c631c7206a8a">stp_curve_get_uint_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
154
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned integers.  <a href="#ga19b3160a57dc6959fe08c631c7206a8a"></a><br/></td></tr>
155
 
<tr><td class="memItemLeft" align="right" valign="top">const short *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87c5d1904efa58be8a21ab6b2c41d0b9">stp_curve_get_short_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
156
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as shorts.  <a href="#ga87c5d1904efa58be8a21ab6b2c41d0b9"></a><br/></td></tr>
157
 
<tr><td class="memItemLeft" align="right" valign="top">const unsigned short *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaa02125af6b9c192e34985851370391b8">stp_curve_get_ushort_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
158
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned shorts.  <a href="#gaa02125af6b9c192e34985851370391b8"></a><br/></td></tr>
159
 
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gade323594e84d4380c88ecf122a5a4da8">stp_curve_get_sequence</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
160
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying stp_sequence_t data structure which stp_curve_t is derived from.  <a href="#gade323594e84d4380c88ecf122a5a4da8"></a><br/></td></tr>
161
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8a2b9b21f97f32faacb99a6125e152">stp_curve_set_gamma</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double f_gamma)</td></tr>
162
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the gamma of a curve.  <a href="#gacb8a2b9b21f97f32faacb99a6125e152"></a><br/></td></tr>
163
 
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0420a6cfa87aa96e5c9a56142aa0178d">stp_curve_get_gamma</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
164
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the gamma value of the curve.  <a href="#ga0420a6cfa87aa96e5c9a56142aa0178d"></a><br/></td></tr>
165
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2d3b8372bde3fce699a3b7bb3c9d8582">stp_curve_set_point</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double data)</td></tr>
166
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a point along the curve.  <a href="#ga2d3b8372bde3fce699a3b7bb3c9d8582"></a><br/></td></tr>
167
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga569aae57147ed7681f23e0e60bd8af35">stp_curve_get_point</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double *data)</td></tr>
168
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a point along the curve.  <a href="#ga569aae57147ed7681f23e0e60bd8af35"></a><br/></td></tr>
169
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab33642ee6c49334f379a4dc185ecd355">stp_curve_interpolate_value</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double where, double *result)</td></tr>
170
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate a point along the curve.  <a href="#gab33642ee6c49334f379a4dc185ecd355"></a><br/></td></tr>
171
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87298cf562468cbcf2c1f76a0ab80b62">stp_curve_resample</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t points)</td></tr>
172
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resample a curve (change the number of points).  <a href="#ga87298cf562468cbcf2c1f76a0ab80b62"></a><br/></td></tr>
173
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaad611b3ddbd667ec204fa7b42f8d7546">stp_curve_rescale</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double scale, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, <a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> bounds_mode)</td></tr>
174
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rescale a curve (multiply all points by a scaling constant).  <a href="#gaad611b3ddbd667ec204fa7b42f8d7546"></a><br/></td></tr>
175
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gac12af55cf0eb2f76db967886f8996313">stp_curve_write</a> (FILE *file, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
176
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a curve to a file.  <a href="#gac12af55cf0eb2f76db967886f8996313"></a><br/></td></tr>
177
 
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf2f0da590278ff74af1eccb0aa0c7169">stp_curve_write_string</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
178
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a curve to a string.  <a href="#gaf2f0da590278ff74af1eccb0aa0c7169"></a><br/></td></tr>
179
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> (FILE *fp)</td></tr>
180
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a curve from a stream.  <a href="#ga478a24e44a3ce345f7207cf7ded12e37"></a><br/></td></tr>
181
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gad96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> (const char *file)</td></tr>
182
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a curve from a stream.  <a href="#gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><br/></td></tr>
183
 
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> (const char *string)</td></tr>
184
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a curve from a string.  <a href="#gab8c0df217306a6e0597f058efbfaca82"></a><br/></td></tr>
185
 
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga55c83a9139fc1b06b90e983d7c1ceff7">stp_curve_compose</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> **retval, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *a, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *b, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, int points)</td></tr>
186
 
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compose two curves, creating a third curve.  <a href="#ga55c83a9139fc1b06b90e983d7c1ceff7"></a><br/></td></tr>
 
86
<tr class="memitem:ga6b3640f0e25bd9d38e46bdc1b2ee58a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> (<a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> wrap)</td></tr>
 
87
<tr class="memdesc:ga6b3640f0e25bd9d38e46bdc1b2ee58a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new curve.  <a href="#ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><br/></td></tr>
 
88
<tr class="memitem:ga972ed591394396e0c66e928a0695b3bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
89
<tr class="memdesc:ga972ed591394396e0c66e928a0695b3bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy and allocate a curve.  <a href="#ga972ed591394396e0c66e928a0695b3bf"></a><br/></td></tr>
 
90
<tr class="memitem:gacd7861bf1c9d61ac4ec87844a15ab9d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacd7861bf1c9d61ac4ec87844a15ab9d3">stp_curve_copy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
 
91
<tr class="memdesc:gacd7861bf1c9d61ac4ec87844a15ab9d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a curve.  <a href="#gacd7861bf1c9d61ac4ec87844a15ab9d3"></a><br/></td></tr>
 
92
<tr class="memitem:ga8c2aed234d3e4ddc4c239801be17bb73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
93
<tr class="memdesc:ga8c2aed234d3e4ddc4c239801be17bb73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse and allocate a curve.  <a href="#ga8c2aed234d3e4ddc4c239801be17bb73"></a><br/></td></tr>
 
94
<tr class="memitem:ga3416157017287eae136fb928802be234"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3416157017287eae136fb928802be234">stp_curve_reverse</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *dest, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *source)</td></tr>
 
95
<tr class="memdesc:ga3416157017287eae136fb928802be234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse a curve.  <a href="#ga3416157017287eae136fb928802be234"></a><br/></td></tr>
 
96
<tr class="memitem:ga4294b85e848fe421496469e2406ef380"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
97
<tr class="memdesc:ga4294b85e848fe421496469e2406ef380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy an curve.  <a href="#ga4294b85e848fe421496469e2406ef380"></a><br/></td></tr>
 
98
<tr class="memitem:gae32fb850963b8694d3739c0ed8475f75"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae32fb850963b8694d3739c0ed8475f75">stp_curve_set_bounds</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double low, double high)</td></tr>
 
99
<tr class="memdesc:gae32fb850963b8694d3739c0ed8475f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the lower and upper bounds on a curve.  <a href="#gae32fb850963b8694d3739c0ed8475f75"></a><br/></td></tr>
 
100
<tr class="memitem:ga63c3386fbfd75da9fe985673bf7b1ca3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga63c3386fbfd75da9fe985673bf7b1ca3">stp_curve_get_bounds</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
 
101
<tr class="memdesc:ga63c3386fbfd75da9fe985673bf7b1ca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower and upper bounds on a curve.  <a href="#ga63c3386fbfd75da9fe985673bf7b1ca3"></a><br/></td></tr>
 
102
<tr class="memitem:ga859020827897bac0f4671322ec027dc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga859020827897bac0f4671322ec027dc4">stp_curve_get_wrap</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
103
<tr class="memdesc:ga859020827897bac0f4671322ec027dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the wrapping mode.  <a href="#ga859020827897bac0f4671322ec027dc4"></a><br/></td></tr>
 
104
<tr class="memitem:ga29b022a3055afe0b48d1f2736ff2f4da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga29b022a3055afe0b48d1f2736ff2f4da">stp_curve_is_piecewise</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
105
<tr class="memdesc:ga29b022a3055afe0b48d1f2736ff2f4da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine whether the curve is piecewise.  <a href="#ga29b022a3055afe0b48d1f2736ff2f4da"></a><br/></td></tr>
 
106
<tr class="memitem:gacb8e51731b9385556747744a0d4f43fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8e51731b9385556747744a0d4f43fb">stp_curve_get_range</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double *low, double *high)</td></tr>
 
107
<tr class="memitem:ga766ff02b29b976372779f719076ad017"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga766ff02b29b976372779f719076ad017">stp_curve_count_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
108
<tr class="memdesc:ga766ff02b29b976372779f719076ad017"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of allocated points in the curve.  <a href="#ga766ff02b29b976372779f719076ad017"></a><br/></td></tr>
 
109
<tr class="memitem:ga82890cef78f5861a88c5789c33693423"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga82890cef78f5861a88c5789c33693423">stp_curve_set_interpolation_type</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, <a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> itype)</td></tr>
 
110
<tr class="memdesc:ga82890cef78f5861a88c5789c33693423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the curve interpolation type.  <a href="#ga82890cef78f5861a88c5789c33693423"></a><br/></td></tr>
 
111
<tr class="memitem:ga42c98a6a6d2512516738b6df9367510e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga42c98a6a6d2512516738b6df9367510e">stp_curve_get_interpolation_type</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
112
<tr class="memdesc:ga42c98a6a6d2512516738b6df9367510e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the curve interpolation type.  <a href="#ga42c98a6a6d2512516738b6df9367510e"></a><br/></td></tr>
 
113
<tr class="memitem:ga81bceb4cb991cef1cda2298cf7bb9f15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga81bceb4cb991cef1cda2298cf7bb9f15">stp_curve_set_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const double *data)</td></tr>
 
114
<tr class="memdesc:ga81bceb4cb991cef1cda2298cf7bb9f15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all data points of the curve.  <a href="#ga81bceb4cb991cef1cda2298cf7bb9f15"></a><br/></td></tr>
 
115
<tr class="memitem:gace09cab4e6ae3d55f75aacae3689e8e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gace09cab4e6ae3d55f75aacae3689e8e6">stp_curve_set_data_points</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *data)</td></tr>
 
116
<tr class="memdesc:gace09cab4e6ae3d55f75aacae3689e8e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all data points of the curve.  <a href="#gace09cab4e6ae3d55f75aacae3689e8e6"></a><br/></td></tr>
 
117
<tr class="memitem:gabd7a39289471607311141c7fc3bbb415"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gabd7a39289471607311141c7fc3bbb415">stp_curve_set_float_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const float *data)</td></tr>
 
118
<tr class="memdesc:gabd7a39289471607311141c7fc3bbb415"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from float values.  <a href="#gabd7a39289471607311141c7fc3bbb415"></a><br/></td></tr>
 
119
<tr class="memitem:gae6a435a21a5c4b5e582d42095a7b06fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gae6a435a21a5c4b5e582d42095a7b06fc">stp_curve_set_long_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const long *data)</td></tr>
 
120
<tr class="memdesc:gae6a435a21a5c4b5e582d42095a7b06fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from long values.  <a href="#gae6a435a21a5c4b5e582d42095a7b06fc"></a><br/></td></tr>
 
121
<tr class="memitem:ga723173297f5b67af937205c7d74ac353"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga723173297f5b67af937205c7d74ac353">stp_curve_set_ulong_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned long *data)</td></tr>
 
122
<tr class="memdesc:ga723173297f5b67af937205c7d74ac353"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from unsigned long values.  <a href="#ga723173297f5b67af937205c7d74ac353"></a><br/></td></tr>
 
123
<tr class="memitem:ga31e76843f4d2f207701755b58766a670"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga31e76843f4d2f207701755b58766a670">stp_curve_set_int_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const int *data)</td></tr>
 
124
<tr class="memdesc:ga31e76843f4d2f207701755b58766a670"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from integer values.  <a href="#ga31e76843f4d2f207701755b58766a670"></a><br/></td></tr>
 
125
<tr class="memitem:ga3ee80f8e4f33691a78b3ad8c3fd7c34f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga3ee80f8e4f33691a78b3ad8c3fd7c34f">stp_curve_set_uint_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned int *data)</td></tr>
 
126
<tr class="memdesc:ga3ee80f8e4f33691a78b3ad8c3fd7c34f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from unsigned integer values.  <a href="#ga3ee80f8e4f33691a78b3ad8c3fd7c34f"></a><br/></td></tr>
 
127
<tr class="memitem:ga2fa5222aab07e85f215e389734b6dbea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2fa5222aab07e85f215e389734b6dbea">stp_curve_set_short_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const short *data)</td></tr>
 
128
<tr class="memdesc:ga2fa5222aab07e85f215e389734b6dbea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from short values.  <a href="#ga2fa5222aab07e85f215e389734b6dbea"></a><br/></td></tr>
 
129
<tr class="memitem:ga0af395eefa7bfe0d19acc1acbaeefe48"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0af395eefa7bfe0d19acc1acbaeefe48">stp_curve_set_ushort_data</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t count, const unsigned short *data)</td></tr>
 
130
<tr class="memdesc:ga0af395eefa7bfe0d19acc1acbaeefe48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data points in a curve from unsigned short values.  <a href="#ga0af395eefa7bfe0d19acc1acbaeefe48"></a><br/></td></tr>
 
131
<tr class="memitem:ga5cbf7c4b6ad96ecb35fc06f46c0319f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga5cbf7c4b6ad96ecb35fc06f46c0319f0">stp_curve_get_subrange</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t start, size_t count)</td></tr>
 
132
<tr class="memdesc:ga5cbf7c4b6ad96ecb35fc06f46c0319f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a curve containing a subrange of data.  <a href="#ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a><br/></td></tr>
 
133
<tr class="memitem:ga73dfcc4c95734449965227e21deb3037"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga73dfcc4c95734449965227e21deb3037">stp_curve_set_subrange</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *range, size_t start)</td></tr>
 
134
<tr class="memitem:gab2208f56694e47e4300d10e057f59ee8"><td class="memItemLeft" align="right" valign="top">const double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab2208f56694e47e4300d10e057f59ee8">stp_curve_get_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
135
<tr class="memdesc:gab2208f56694e47e4300d10e057f59ee8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the curve's raw data.  <a href="#gab2208f56694e47e4300d10e057f59ee8"></a><br/></td></tr>
 
136
<tr class="memitem:ga79e0d6afa3573917c756af64b56a0d82"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga79e0d6afa3573917c756af64b56a0d82">stp_curve_get_data_points</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
137
<tr class="memdesc:ga79e0d6afa3573917c756af64b56a0d82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the curve's raw data as points.  <a href="#ga79e0d6afa3573917c756af64b56a0d82"></a><br/></td></tr>
 
138
<tr class="memitem:ga251f105cb5f2b126ea02b7908f717c18"><td class="memItemLeft" align="right" valign="top">const float *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga251f105cb5f2b126ea02b7908f717c18">stp_curve_get_float_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
139
<tr class="memdesc:ga251f105cb5f2b126ea02b7908f717c18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as floats.  <a href="#ga251f105cb5f2b126ea02b7908f717c18"></a><br/></td></tr>
 
140
<tr class="memitem:gaf59bd38c9dfc7beb08a283dc9e400bf2"><td class="memItemLeft" align="right" valign="top">const long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf59bd38c9dfc7beb08a283dc9e400bf2">stp_curve_get_long_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
141
<tr class="memdesc:gaf59bd38c9dfc7beb08a283dc9e400bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as longs.  <a href="#gaf59bd38c9dfc7beb08a283dc9e400bf2"></a><br/></td></tr>
 
142
<tr class="memitem:ga24a862eda4cdbb626f51aeb7d8ae9a50"><td class="memItemLeft" align="right" valign="top">const unsigned long *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga24a862eda4cdbb626f51aeb7d8ae9a50">stp_curve_get_ulong_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
143
<tr class="memdesc:ga24a862eda4cdbb626f51aeb7d8ae9a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned longs.  <a href="#ga24a862eda4cdbb626f51aeb7d8ae9a50"></a><br/></td></tr>
 
144
<tr class="memitem:ga6de80e81b64262e0051441f697ae4de4"><td class="memItemLeft" align="right" valign="top">const int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga6de80e81b64262e0051441f697ae4de4">stp_curve_get_int_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
145
<tr class="memdesc:ga6de80e81b64262e0051441f697ae4de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as integers.  <a href="#ga6de80e81b64262e0051441f697ae4de4"></a><br/></td></tr>
 
146
<tr class="memitem:ga19b3160a57dc6959fe08c631c7206a8a"><td class="memItemLeft" align="right" valign="top">const unsigned int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga19b3160a57dc6959fe08c631c7206a8a">stp_curve_get_uint_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
147
<tr class="memdesc:ga19b3160a57dc6959fe08c631c7206a8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned integers.  <a href="#ga19b3160a57dc6959fe08c631c7206a8a"></a><br/></td></tr>
 
148
<tr class="memitem:ga87c5d1904efa58be8a21ab6b2c41d0b9"><td class="memItemLeft" align="right" valign="top">const short *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87c5d1904efa58be8a21ab6b2c41d0b9">stp_curve_get_short_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
149
<tr class="memdesc:ga87c5d1904efa58be8a21ab6b2c41d0b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as shorts.  <a href="#ga87c5d1904efa58be8a21ab6b2c41d0b9"></a><br/></td></tr>
 
150
<tr class="memitem:gaa02125af6b9c192e34985851370391b8"><td class="memItemLeft" align="right" valign="top">const unsigned short *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaa02125af6b9c192e34985851370391b8">stp_curve_get_ushort_data</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t *count)</td></tr>
 
151
<tr class="memdesc:gaa02125af6b9c192e34985851370391b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the curve's raw data as unsigned shorts.  <a href="#gaa02125af6b9c192e34985851370391b8"></a><br/></td></tr>
 
152
<tr class="memitem:gade323594e84d4380c88ecf122a5a4da8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gade323594e84d4380c88ecf122a5a4da8">stp_curve_get_sequence</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
153
<tr class="memdesc:gade323594e84d4380c88ecf122a5a4da8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the underlying stp_sequence_t data structure which stp_curve_t is derived from.  <a href="#gade323594e84d4380c88ecf122a5a4da8"></a><br/></td></tr>
 
154
<tr class="memitem:gacb8a2b9b21f97f32faacb99a6125e152"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gacb8a2b9b21f97f32faacb99a6125e152">stp_curve_set_gamma</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double f_gamma)</td></tr>
 
155
<tr class="memdesc:gacb8a2b9b21f97f32faacb99a6125e152"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the gamma of a curve.  <a href="#gacb8a2b9b21f97f32faacb99a6125e152"></a><br/></td></tr>
 
156
<tr class="memitem:ga0420a6cfa87aa96e5c9a56142aa0178d"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga0420a6cfa87aa96e5c9a56142aa0178d">stp_curve_get_gamma</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
157
<tr class="memdesc:ga0420a6cfa87aa96e5c9a56142aa0178d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the gamma value of the curve.  <a href="#ga0420a6cfa87aa96e5c9a56142aa0178d"></a><br/></td></tr>
 
158
<tr class="memitem:ga2d3b8372bde3fce699a3b7bb3c9d8582"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga2d3b8372bde3fce699a3b7bb3c9d8582">stp_curve_set_point</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double data)</td></tr>
 
159
<tr class="memdesc:ga2d3b8372bde3fce699a3b7bb3c9d8582"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a point along the curve.  <a href="#ga2d3b8372bde3fce699a3b7bb3c9d8582"></a><br/></td></tr>
 
160
<tr class="memitem:ga569aae57147ed7681f23e0e60bd8af35"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga569aae57147ed7681f23e0e60bd8af35">stp_curve_get_point</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t where, double *data)</td></tr>
 
161
<tr class="memdesc:ga569aae57147ed7681f23e0e60bd8af35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a point along the curve.  <a href="#ga569aae57147ed7681f23e0e60bd8af35"></a><br/></td></tr>
 
162
<tr class="memitem:gab33642ee6c49334f379a4dc185ecd355"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab33642ee6c49334f379a4dc185ecd355">stp_curve_interpolate_value</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double where, double *result)</td></tr>
 
163
<tr class="memdesc:gab33642ee6c49334f379a4dc185ecd355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interpolate a point along the curve.  <a href="#gab33642ee6c49334f379a4dc185ecd355"></a><br/></td></tr>
 
164
<tr class="memitem:ga87298cf562468cbcf2c1f76a0ab80b62"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga87298cf562468cbcf2c1f76a0ab80b62">stp_curve_resample</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, size_t points)</td></tr>
 
165
<tr class="memdesc:ga87298cf562468cbcf2c1f76a0ab80b62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resample a curve (change the number of points).  <a href="#ga87298cf562468cbcf2c1f76a0ab80b62"></a><br/></td></tr>
 
166
<tr class="memitem:gaad611b3ddbd667ec204fa7b42f8d7546"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaad611b3ddbd667ec204fa7b42f8d7546">stp_curve_rescale</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve, double scale, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, <a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a> bounds_mode)</td></tr>
 
167
<tr class="memdesc:gaad611b3ddbd667ec204fa7b42f8d7546"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rescale a curve (multiply all points by a scaling constant).  <a href="#gaad611b3ddbd667ec204fa7b42f8d7546"></a><br/></td></tr>
 
168
<tr class="memitem:gac12af55cf0eb2f76db967886f8996313"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gac12af55cf0eb2f76db967886f8996313">stp_curve_write</a> (FILE *file, const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
169
<tr class="memdesc:gac12af55cf0eb2f76db967886f8996313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a curve to a file.  <a href="#gac12af55cf0eb2f76db967886f8996313"></a><br/></td></tr>
 
170
<tr class="memitem:gaf2f0da590278ff74af1eccb0aa0c7169"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gaf2f0da590278ff74af1eccb0aa0c7169">stp_curve_write_string</a> (const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *curve)</td></tr>
 
171
<tr class="memdesc:gaf2f0da590278ff74af1eccb0aa0c7169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a curve to a string.  <a href="#gaf2f0da590278ff74af1eccb0aa0c7169"></a><br/></td></tr>
 
172
<tr class="memitem:ga478a24e44a3ce345f7207cf7ded12e37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> (FILE *fp)</td></tr>
 
173
<tr class="memdesc:ga478a24e44a3ce345f7207cf7ded12e37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a curve from a stream.  <a href="#ga478a24e44a3ce345f7207cf7ded12e37"></a><br/></td></tr>
 
174
<tr class="memitem:gad96d7d1cda5f037f7d6a9b651ebbbb46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gad96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> (const char *file)</td></tr>
 
175
<tr class="memdesc:gad96d7d1cda5f037f7d6a9b651ebbbb46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a curve from a stream.  <a href="#gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><br/></td></tr>
 
176
<tr class="memitem:gab8c0df217306a6e0597f058efbfaca82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#gab8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> (const char *string)</td></tr>
 
177
<tr class="memdesc:gab8c0df217306a6e0597f058efbfaca82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a curve from a string.  <a href="#gab8c0df217306a6e0597f058efbfaca82"></a><br/></td></tr>
 
178
<tr class="memitem:ga55c83a9139fc1b06b90e983d7c1ceff7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__curve.html#ga55c83a9139fc1b06b90e983d7c1ceff7">stp_curve_compose</a> (<a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> **retval, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *a, <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *b, <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a> mode, int points)</td></tr>
 
179
<tr class="memdesc:ga55c83a9139fc1b06b90e983d7c1ceff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compose two curves, creating a third curve.  <a href="#ga55c83a9139fc1b06b90e983d7c1ceff7"></a><br/></td></tr>
187
180
</table>
188
181
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
189
182
<p>The curve type models a linear, spline or gamma curve. </p>
190
183
<p>curve "inherits" from the sequence data structure (implemented via containment), since the curve data is represented internally as a sequence of numbers, for linear and spline curves. Linear Piecewise Curves (LPCs) should be implemented in the future which represent a curve in a more compact format.</p>
191
184
<p>Various operations are supported, including interpolation and composition. </p>
192
185
<hr/><h2>Typedef Documentation</h2>
193
 
<a class="anchor" id="ga375a2b23705fb0698ae1d823243c8524"></a><!-- doxytag: member="curve.h::stp_curve_t" ref="ga375a2b23705fb0698ae1d823243c8524" args="" -->
 
186
<a class="anchor" id="ga375a2b23705fb0698ae1d823243c8524"></a>
194
187
<div class="memitem">
195
188
<div class="memproto">
196
189
      <table class="memname">
198
191
          <td class="memname">typedef struct stp_curve <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a></td>
199
192
        </tr>
200
193
      </table>
201
 
</div>
202
 
<div class="memdoc">
 
194
</div><div class="memdoc">
203
195
 
204
196
<p>The curve opaque data type. </p>
205
197
 
206
198
</div>
207
199
</div>
208
200
<hr/><h2>Enumeration Type Documentation</h2>
209
 
<a class="anchor" id="ga86d146e483ca1902f973d574f542b85f"></a><!-- doxytag: member="curve.h::stp_curve_bounds_t" ref="ga86d146e483ca1902f973d574f542b85f" args="" -->
 
201
<a class="anchor" id="ga86d146e483ca1902f973d574f542b85f"></a>
210
202
<div class="memitem">
211
203
<div class="memproto">
212
204
      <table class="memname">
214
206
          <td class="memname">enum <a class="el" href="group__curve.html#ga86d146e483ca1902f973d574f542b85f">stp_curve_bounds_t</a></td>
215
207
        </tr>
216
208
      </table>
217
 
</div>
218
 
<div class="memdoc">
 
209
</div><div class="memdoc">
219
210
 
220
211
<p>Behaviour when curve exceeds bounds. </p>
221
212
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
222
 
<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>&nbsp;</td><td>
 
213
<tr><td valign="top"><em><a class="anchor" id="gga86d146e483ca1902f973d574f542b85fa118d303bf7bdf4f00bda71cc6eac49c3"></a>STP_CURVE_BOUNDS_RESCALE</em>&nbsp;</td><td>
223
214
<p>Rescale the bounds. </p>
224
215
</td></tr>
225
 
<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>&nbsp;</td><td>
 
216
<tr><td valign="top"><em><a class="anchor" id="gga86d146e483ca1902f973d574f542b85faec9e6673edac9d34e3aad376fa711aa5"></a>STP_CURVE_BOUNDS_CLIP</em>&nbsp;</td><td>
226
217
<p>Clip the curve to the existing bounds. </p>
227
218
</td></tr>
228
 
<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>&nbsp;</td><td>
 
219
<tr><td valign="top"><em><a class="anchor" id="gga86d146e483ca1902f973d574f542b85fad699d675d5df223055388cd83d0b362b"></a>STP_CURVE_BOUNDS_ERROR</em>&nbsp;</td><td>
229
220
<p>Error if bounds are violated. </p>
230
221
</td></tr>
231
222
</table>
234
225
 
235
226
</div>
236
227
</div>
237
 
<a class="anchor" id="ga7eddbee28cb1f3c76a19408b86ea142e"></a><!-- doxytag: member="curve.h::stp_curve_compose_t" ref="ga7eddbee28cb1f3c76a19408b86ea142e" args="" -->
 
228
<a class="anchor" id="ga7eddbee28cb1f3c76a19408b86ea142e"></a>
238
229
<div class="memitem">
239
230
<div class="memproto">
240
231
      <table class="memname">
242
233
          <td class="memname">enum <a class="el" href="group__curve.html#ga7eddbee28cb1f3c76a19408b86ea142e">stp_curve_compose_t</a></td>
243
234
        </tr>
244
235
      </table>
245
 
</div>
246
 
<div class="memdoc">
 
236
</div><div class="memdoc">
247
237
 
248
238
<p>Composition types. </p>
249
239
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
250
 
<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>&nbsp;</td><td>
 
240
<tr><td valign="top"><em><a class="anchor" id="gga7eddbee28cb1f3c76a19408b86ea142eac38b0bf09e93edb67c3e5c53035295f3"></a>STP_CURVE_COMPOSE_ADD</em>&nbsp;</td><td>
251
241
<p>Add composition. </p>
252
242
</td></tr>
253
 
<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>&nbsp;</td><td>
 
243
<tr><td valign="top"><em><a class="anchor" id="gga7eddbee28cb1f3c76a19408b86ea142ead3bd2cdb63498d5d22686e79e2c0ed95"></a>STP_CURVE_COMPOSE_MULTIPLY</em>&nbsp;</td><td>
254
244
<p>Multiply composition. </p>
255
245
</td></tr>
256
 
<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>&nbsp;</td><td>
 
246
<tr><td valign="top"><em><a class="anchor" id="gga7eddbee28cb1f3c76a19408b86ea142ea8de151149fdfd4fcca78826e6352246a"></a>STP_CURVE_COMPOSE_EXPONENTIATE</em>&nbsp;</td><td>
257
247
<p>Exponentiate composition. </p>
258
248
</td></tr>
259
249
</table>
262
252
 
263
253
</div>
264
254
</div>
265
 
<a class="anchor" id="ga982f8191c84b049cc3ad3cee1558fc23"></a><!-- doxytag: member="curve.h::stp_curve_type_t" ref="ga982f8191c84b049cc3ad3cee1558fc23" args="" -->
 
255
<a class="anchor" id="ga982f8191c84b049cc3ad3cee1558fc23"></a>
266
256
<div class="memitem">
267
257
<div class="memproto">
268
258
      <table class="memname">
270
260
          <td class="memname">enum <a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a></td>
271
261
        </tr>
272
262
      </table>
273
 
</div>
274
 
<div class="memdoc">
 
263
</div><div class="memdoc">
275
264
 
276
265
<p>Curve types. </p>
277
266
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
278
 
<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>&nbsp;</td><td>
 
267
<tr><td valign="top"><em><a class="anchor" id="gga982f8191c84b049cc3ad3cee1558fc23a46228ddaa2d52a85ccd79c4dc0f76ad3"></a>STP_CURVE_TYPE_LINEAR</em>&nbsp;</td><td>
279
268
<p>Linear interpolation. </p>
280
269
</td></tr>
281
 
<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>&nbsp;</td><td>
 
270
<tr><td valign="top"><em><a class="anchor" id="gga982f8191c84b049cc3ad3cee1558fc23afb1ffdc3754f428d8e3a2124e014ff77"></a>STP_CURVE_TYPE_SPLINE</em>&nbsp;</td><td>
282
271
<p>Spline interpolation. </p>
283
272
</td></tr>
284
273
</table>
287
276
 
288
277
</div>
289
278
</div>
290
 
<a class="anchor" id="ga3ae3af552b490b0ca8b02e442ac9547a"></a><!-- doxytag: member="curve.h::stp_curve_wrap_mode_t" ref="ga3ae3af552b490b0ca8b02e442ac9547a" args="" -->
 
279
<a class="anchor" id="ga3ae3af552b490b0ca8b02e442ac9547a"></a>
291
280
<div class="memitem">
292
281
<div class="memproto">
293
282
      <table class="memname">
295
284
          <td class="memname">enum <a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a></td>
296
285
        </tr>
297
286
      </table>
298
 
</div>
299
 
<div class="memdoc">
 
287
</div><div class="memdoc">
300
288
 
301
289
<p>Wrapping mode. </p>
302
290
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
303
 
<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>&nbsp;</td><td>
 
291
<tr><td valign="top"><em><a class="anchor" id="gga3ae3af552b490b0ca8b02e442ac9547aad840485ad7df768a06ee4be02d93b97a"></a>STP_CURVE_WRAP_NONE</em>&nbsp;</td><td>
304
292
<p>The curve does not wrap. </p>
305
293
</td></tr>
306
 
<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>&nbsp;</td><td>
 
294
<tr><td valign="top"><em><a class="anchor" id="gga3ae3af552b490b0ca8b02e442ac9547aac0361aebddfabfb263dc0205a61f6fbd"></a>STP_CURVE_WRAP_AROUND</em>&nbsp;</td><td>
307
295
<p>The curve wraps to its starting point. </p>
308
296
</td></tr>
309
297
</table>
313
301
</div>
314
302
</div>
315
303
<hr/><h2>Function Documentation</h2>
316
 
<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)" -->
 
304
<a class="anchor" id="ga55c83a9139fc1b06b90e983d7c1ceff7"></a>
317
305
<div class="memitem">
318
306
<div class="memproto">
319
307
      <table class="memname">
320
308
        <tr>
321
 
          <td class="memname">int <a class="el" href="group__curve.html#ga55c83a9139fc1b06b90e983d7c1ceff7">stp_curve_compose</a> </td>
 
309
          <td class="memname">int stp_curve_compose </td>
322
310
          <td>(</td>
323
311
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> **&#160;</td>
324
312
          <td class="paramname"><em>retval</em>, </td>
353
341
          <td></td><td></td>
354
342
        </tr>
355
343
      </table>
356
 
</div>
357
 
<div class="memdoc">
 
344
</div><div class="memdoc">
358
345
 
359
346
<p>Compose two curves, creating a third curve. </p>
360
347
<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>
361
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
348
<dl class="params"><dt>Parameters:</dt><dd>
362
349
  <table class="params">
363
350
    <tr><td class="paramname">retval</td><td>a pointer to store the location of the newly-created output curve in. </td></tr>
364
351
    <tr><td class="paramname">a</td><td>the first source curve. </td></tr>
368
355
  </table>
369
356
  </dd>
370
357
</dl>
371
 
<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if element-wise composition fails. </dd></dl>
 
358
<dl class="section return"><dt>Returns:</dt><dd>FALSE if element-wise composition fails. </dd></dl>
372
359
 
373
360
</div>
374
361
</div>
375
 
<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)" -->
 
362
<a class="anchor" id="gacd7861bf1c9d61ac4ec87844a15ab9d3"></a>
376
363
<div class="memitem">
377
364
<div class="memproto">
378
365
      <table class="memname">
379
366
        <tr>
380
 
          <td class="memname">void <a class="el" href="group__curve.html#gacd7861bf1c9d61ac4ec87844a15ab9d3">stp_curve_copy</a> </td>
 
367
          <td class="memname">void stp_curve_copy </td>
381
368
          <td>(</td>
382
369
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
383
370
          <td class="paramname"><em>dest</em>, </td>
394
381
          <td></td><td></td>
395
382
        </tr>
396
383
      </table>
397
 
</div>
398
 
<div class="memdoc">
 
384
</div><div class="memdoc">
399
385
 
400
386
<p>Copy a curve. </p>
401
387
<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>
402
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
388
<dl class="params"><dt>Parameters:</dt><dd>
403
389
  <table class="params">
404
390
    <tr><td class="paramname">dest</td><td>the destination curve. </td></tr>
405
391
    <tr><td class="paramname">source</td><td>the source curve. </td></tr>
409
395
 
410
396
</div>
411
397
</div>
412
 
<a class="anchor" id="ga766ff02b29b976372779f719076ad017"></a><!-- doxytag: member="curve.h::stp_curve_count_points" ref="ga766ff02b29b976372779f719076ad017" args="(const stp_curve_t *curve)" -->
 
398
<a class="anchor" id="ga766ff02b29b976372779f719076ad017"></a>
413
399
<div class="memitem">
414
400
<div class="memproto">
415
401
      <table class="memname">
416
402
        <tr>
417
 
          <td class="memname">size_t <a class="el" href="group__curve.html#ga766ff02b29b976372779f719076ad017">stp_curve_count_points</a> </td>
 
403
          <td class="memname">size_t stp_curve_count_points </td>
418
404
          <td>(</td>
419
405
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
420
406
          <td class="paramname"><em>curve</em></td><td>)</td>
421
407
          <td></td>
422
408
        </tr>
423
409
      </table>
424
 
</div>
425
 
<div class="memdoc">
 
410
</div><div class="memdoc">
426
411
 
427
412
<p>Get the number of allocated points in the curve. </p>
428
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
413
<dl class="params"><dt>Parameters:</dt><dd>
429
414
  <table class="params">
430
415
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
431
416
  </table>
432
417
  </dd>
433
418
</dl>
434
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of points. </dd></dl>
 
419
<dl class="section return"><dt>Returns:</dt><dd>the number of points. </dd></dl>
435
420
 
436
421
</div>
437
422
</div>
438
 
<a class="anchor" id="ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a><!-- doxytag: member="curve.h::stp_curve_create" ref="ga6b3640f0e25bd9d38e46bdc1b2ee58a4" args="(stp_curve_wrap_mode_t wrap)" -->
 
423
<a class="anchor" id="ga6b3640f0e25bd9d38e46bdc1b2ee58a4"></a>
439
424
<div class="memitem">
440
425
<div class="memproto">
441
426
      <table class="memname">
442
427
        <tr>
443
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4">stp_curve_create</a> </td>
 
428
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create </td>
444
429
          <td>(</td>
445
430
          <td class="paramtype"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a>&#160;</td>
446
431
          <td class="paramname"><em>wrap</em></td><td>)</td>
447
432
          <td></td>
448
433
        </tr>
449
434
      </table>
450
 
</div>
451
 
<div class="memdoc">
 
435
</div><div class="memdoc">
452
436
 
453
437
<p>Create a new curve. </p>
454
438
<p>Curves have y=lower..upper. The default bounds are 0..1. The default interpolation type is linear. There are no points allocated, and the gamma is defaulted to 1. The curve is a dense (equally-spaced) curve.</p>
455
439
<p>A wrapped curve has the same value at x=0 and x=1. The wrap mode of a curve cannot be changed except by routines that destroy the old curve entirely (e. g. stp_curve_copy, stp_curve_read). </p>
456
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
440
<dl class="params"><dt>Parameters:</dt><dd>
457
441
  <table class="params">
458
442
    <tr><td class="paramname">wrap</td><td>the wrap mode of the curve. </td></tr>
459
443
  </table>
460
444
  </dd>
461
445
</dl>
462
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve. </dd></dl>
 
446
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve. </dd></dl>
463
447
 
464
448
</div>
465
449
</div>
466
 
<a class="anchor" id="ga972ed591394396e0c66e928a0695b3bf"></a><!-- doxytag: member="curve.h::stp_curve_create_copy" ref="ga972ed591394396e0c66e928a0695b3bf" args="(const stp_curve_t *curve)" -->
 
450
<a class="anchor" id="ga972ed591394396e0c66e928a0695b3bf"></a>
467
451
<div class="memitem">
468
452
<div class="memproto">
469
453
      <table class="memname">
470
454
        <tr>
471
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga972ed591394396e0c66e928a0695b3bf">stp_curve_create_copy</a> </td>
 
455
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_copy </td>
472
456
          <td>(</td>
473
457
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
474
458
          <td class="paramname"><em>curve</em></td><td>)</td>
475
459
          <td></td>
476
460
        </tr>
477
461
      </table>
478
 
</div>
479
 
<div class="memdoc">
 
462
</div><div class="memdoc">
480
463
 
481
464
<p>Copy and allocate a curve. </p>
482
465
<p>dest will be created, and then the contents of source will be copied into it. dest must not have been previously allocated with <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. </p>
483
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
466
<dl class="params"><dt>Parameters:</dt><dd>
484
467
  <table class="params">
485
468
    <tr><td class="paramname">curve</td><td>the source curve. </td></tr>
486
469
  </table>
487
470
  </dd>
488
471
</dl>
489
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl>
 
472
<dl class="section return"><dt>Returns:</dt><dd>the new copy of the curve. </dd></dl>
490
473
 
491
474
</div>
492
475
</div>
493
 
<a class="anchor" id="gad96d7d1cda5f037f7d6a9b651ebbbb46"></a><!-- doxytag: member="curve.h::stp_curve_create_from_file" ref="gad96d7d1cda5f037f7d6a9b651ebbbb46" args="(const char *file)" -->
 
476
<a class="anchor" id="gad96d7d1cda5f037f7d6a9b651ebbbb46"></a>
494
477
<div class="memitem">
495
478
<div class="memproto">
496
479
      <table class="memname">
497
480
        <tr>
498
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#gad96d7d1cda5f037f7d6a9b651ebbbb46">stp_curve_create_from_file</a> </td>
 
481
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_file </td>
499
482
          <td>(</td>
500
483
          <td class="paramtype">const char *&#160;</td>
501
484
          <td class="paramname"><em>file</em></td><td>)</td>
502
485
          <td></td>
503
486
        </tr>
504
487
      </table>
505
 
</div>
506
 
<div class="memdoc">
 
488
</div><div class="memdoc">
507
489
 
508
490
<p>Create a curve from a stream. </p>
509
 
<dl class="warning"><dt><b>Warning:</b></dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
510
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
491
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
 
492
<dl class="params"><dt>Parameters:</dt><dd>
511
493
  <table class="params">
512
494
    <tr><td class="paramname">file</td><td>the file to read. </td></tr>
513
495
  </table>
514
496
  </dd>
515
497
</dl>
516
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
 
498
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
517
499
 
518
500
</div>
519
501
</div>
520
 
<a class="anchor" id="ga478a24e44a3ce345f7207cf7ded12e37"></a><!-- doxytag: member="curve.h::stp_curve_create_from_stream" ref="ga478a24e44a3ce345f7207cf7ded12e37" args="(FILE *fp)" -->
 
502
<a class="anchor" id="ga478a24e44a3ce345f7207cf7ded12e37"></a>
521
503
<div class="memitem">
522
504
<div class="memproto">
523
505
      <table class="memname">
524
506
        <tr>
525
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga478a24e44a3ce345f7207cf7ded12e37">stp_curve_create_from_stream</a> </td>
 
507
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_stream </td>
526
508
          <td>(</td>
527
509
          <td class="paramtype">FILE *&#160;</td>
528
510
          <td class="paramname"><em>fp</em></td><td>)</td>
529
511
          <td></td>
530
512
        </tr>
531
513
      </table>
532
 
</div>
533
 
<div class="memdoc">
 
514
</div><div class="memdoc">
534
515
 
535
516
<p>Create a curve from a stream. </p>
536
 
<dl class="warning"><dt><b>Warning:</b></dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
537
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
517
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
 
518
<dl class="params"><dt>Parameters:</dt><dd>
538
519
  <table class="params">
539
520
    <tr><td class="paramname">fp</td><td>the stream to read. </td></tr>
540
521
  </table>
541
522
  </dd>
542
523
</dl>
543
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
 
524
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
544
525
 
545
526
</div>
546
527
</div>
547
 
<a class="anchor" id="gab8c0df217306a6e0597f058efbfaca82"></a><!-- doxytag: member="curve.h::stp_curve_create_from_string" ref="gab8c0df217306a6e0597f058efbfaca82" args="(const char *string)" -->
 
528
<a class="anchor" id="gab8c0df217306a6e0597f058efbfaca82"></a>
548
529
<div class="memitem">
549
530
<div class="memproto">
550
531
      <table class="memname">
551
532
        <tr>
552
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#gab8c0df217306a6e0597f058efbfaca82">stp_curve_create_from_string</a> </td>
 
533
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_from_string </td>
553
534
          <td>(</td>
554
535
          <td class="paramtype">const char *&#160;</td>
555
536
          <td class="paramname"><em>string</em></td><td>)</td>
556
537
          <td></td>
557
538
        </tr>
558
539
      </table>
559
 
</div>
560
 
<div class="memdoc">
 
540
</div><div class="memdoc">
561
541
 
562
542
<p>Create a curve from a string. </p>
563
 
<dl class="warning"><dt><b>Warning:</b></dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
564
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
543
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
 
544
<dl class="params"><dt>Parameters:</dt><dd>
565
545
  <table class="params">
566
546
    <tr><td class="paramname">string</td><td>the string to read. </td></tr>
567
547
  </table>
568
548
  </dd>
569
549
</dl>
570
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
 
550
<dl class="section return"><dt>Returns:</dt><dd>the newly created curve, or NULL if an error occured. </dd></dl>
571
551
 
572
552
</div>
573
553
</div>
574
 
<a class="anchor" id="ga8c2aed234d3e4ddc4c239801be17bb73"></a><!-- doxytag: member="curve.h::stp_curve_create_reverse" ref="ga8c2aed234d3e4ddc4c239801be17bb73" args="(const stp_curve_t *curve)" -->
 
554
<a class="anchor" id="ga8c2aed234d3e4ddc4c239801be17bb73"></a>
575
555
<div class="memitem">
576
556
<div class="memproto">
577
557
      <table class="memname">
578
558
        <tr>
579
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga8c2aed234d3e4ddc4c239801be17bb73">stp_curve_create_reverse</a> </td>
 
559
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_create_reverse </td>
580
560
          <td>(</td>
581
561
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
582
562
          <td class="paramname"><em>curve</em></td><td>)</td>
583
563
          <td></td>
584
564
        </tr>
585
565
      </table>
586
 
</div>
587
 
<div class="memdoc">
 
566
</div><div class="memdoc">
588
567
 
589
568
<p>Reverse and allocate a curve. </p>
590
569
<p>dest will be created, and then the contents of source will be copied into it. dest must not have been previously allocated with <a class="el" href="group__curve.html#ga6b3640f0e25bd9d38e46bdc1b2ee58a4" title="Create a new curve.">stp_curve_create()</a>. </p>
591
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
570
<dl class="params"><dt>Parameters:</dt><dd>
592
571
  <table class="params">
593
572
    <tr><td class="paramname">curve</td><td>the source curve. </td></tr>
594
573
  </table>
595
574
  </dd>
596
575
</dl>
597
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the new copy of the curve. </dd></dl>
 
576
<dl class="section return"><dt>Returns:</dt><dd>the new copy of the curve. </dd></dl>
598
577
 
599
578
</div>
600
579
</div>
601
 
<a class="anchor" id="ga4294b85e848fe421496469e2406ef380"></a><!-- doxytag: member="curve.h::stp_curve_destroy" ref="ga4294b85e848fe421496469e2406ef380" args="(stp_curve_t *curve)" -->
 
580
<a class="anchor" id="ga4294b85e848fe421496469e2406ef380"></a>
602
581
<div class="memitem">
603
582
<div class="memproto">
604
583
      <table class="memname">
605
584
        <tr>
606
 
          <td class="memname">void <a class="el" href="group__curve.html#ga4294b85e848fe421496469e2406ef380">stp_curve_destroy</a> </td>
 
585
          <td class="memname">void stp_curve_destroy </td>
607
586
          <td>(</td>
608
587
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
609
588
          <td class="paramname"><em>curve</em></td><td>)</td>
610
589
          <td></td>
611
590
        </tr>
612
591
      </table>
613
 
</div>
614
 
<div class="memdoc">
 
592
</div><div class="memdoc">
615
593
 
616
594
<p>Destroy an curve. </p>
617
595
<p>It is an error to destroy the curve more than once. </p>
618
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
596
<dl class="params"><dt>Parameters:</dt><dd>
619
597
  <table class="params">
620
598
    <tr><td class="paramname">curve</td><td>the curve to destroy. </td></tr>
621
599
  </table>
624
602
 
625
603
</div>
626
604
</div>
627
 
<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)" -->
 
605
<a class="anchor" id="ga63c3386fbfd75da9fe985673bf7b1ca3"></a>
628
606
<div class="memitem">
629
607
<div class="memproto">
630
608
      <table class="memname">
631
609
        <tr>
632
 
          <td class="memname">void <a class="el" href="group__curve.html#ga63c3386fbfd75da9fe985673bf7b1ca3">stp_curve_get_bounds</a> </td>
 
610
          <td class="memname">void stp_curve_get_bounds </td>
633
611
          <td>(</td>
634
612
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
635
613
          <td class="paramname"><em>curve</em>, </td>
652
630
          <td></td><td></td>
653
631
        </tr>
654
632
      </table>
655
 
</div>
656
 
<div class="memdoc">
 
633
</div><div class="memdoc">
657
634
 
658
635
<p>Get the lower and upper bounds on a curve. </p>
659
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
636
<dl class="params"><dt>Parameters:</dt><dd>
660
637
  <table class="params">
661
638
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
662
639
    <tr><td class="paramname">low</td><td>a pointer to a double to store the lower bound in. </td></tr>
667
644
 
668
645
</div>
669
646
</div>
670
 
<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)" -->
 
647
<a class="anchor" id="gab2208f56694e47e4300d10e057f59ee8"></a>
671
648
<div class="memitem">
672
649
<div class="memproto">
673
650
      <table class="memname">
674
651
        <tr>
675
 
          <td class="memname">const double* <a class="el" href="group__curve.html#gab2208f56694e47e4300d10e057f59ee8">stp_curve_get_data</a> </td>
 
652
          <td class="memname">const double* stp_curve_get_data </td>
676
653
          <td>(</td>
677
654
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
678
655
          <td class="paramname"><em>curve</em>, </td>
689
666
          <td></td><td></td>
690
667
        </tr>
691
668
      </table>
692
 
</div>
693
 
<div class="memdoc">
 
669
</div><div class="memdoc">
694
670
 
695
671
<p>Get a pointer to the curve's raw data. </p>
696
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
672
<dl class="params"><dt>Parameters:</dt><dd>
697
673
  <table class="params">
698
674
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
699
675
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
700
676
  </table>
701
677
  </dd>
702
678
</dl>
703
 
<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>
 
679
<dl class="section return"><dt>Returns:</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>
704
680
 
705
681
</div>
706
682
</div>
707
 
<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)" -->
 
683
<a class="anchor" id="ga79e0d6afa3573917c756af64b56a0d82"></a>
708
684
<div class="memitem">
709
685
<div class="memproto">
710
686
      <table class="memname">
711
687
        <tr>
712
 
          <td class="memname">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a>* <a class="el" href="group__curve.html#ga79e0d6afa3573917c756af64b56a0d82">stp_curve_get_data_points</a> </td>
 
688
          <td class="memname">const <a class="el" href="structstp__curve__point__t.html">stp_curve_point_t</a>* stp_curve_get_data_points </td>
713
689
          <td>(</td>
714
690
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
715
691
          <td class="paramname"><em>curve</em>, </td>
726
702
          <td></td><td></td>
727
703
        </tr>
728
704
      </table>
729
 
</div>
730
 
<div class="memdoc">
 
705
</div><div class="memdoc">
731
706
 
732
707
<p>Get a pointer to the curve's raw data as points. </p>
733
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
708
<dl class="params"><dt>Parameters:</dt><dd>
734
709
  <table class="params">
735
710
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
736
711
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
737
712
  </table>
738
713
  </dd>
739
714
</dl>
740
 
<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>
 
715
<dl class="section return"><dt>Returns:</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>
741
716
 
742
717
</div>
743
718
</div>
744
 
<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)" -->
 
719
<a class="anchor" id="ga251f105cb5f2b126ea02b7908f717c18"></a>
745
720
<div class="memitem">
746
721
<div class="memproto">
747
722
      <table class="memname">
748
723
        <tr>
749
 
          <td class="memname">const float* <a class="el" href="group__curve.html#ga251f105cb5f2b126ea02b7908f717c18">stp_curve_get_float_data</a> </td>
 
724
          <td class="memname">const float* stp_curve_get_float_data </td>
750
725
          <td>(</td>
751
726
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
752
727
          <td class="paramname"><em>curve</em>, </td>
763
738
          <td></td><td></td>
764
739
        </tr>
765
740
      </table>
766
 
</div>
767
 
<div class="memdoc">
 
741
</div><div class="memdoc">
768
742
 
769
743
<p>Get pointer to the curve's raw data as floats. </p>
770
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
744
<dl class="params"><dt>Parameters:</dt><dd>
771
745
  <table class="params">
772
746
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
773
747
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
774
748
  </table>
775
749
  </dd>
776
750
</dl>
777
 
<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>
 
751
<dl class="section return"><dt>Returns:</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>
778
752
 
779
753
</div>
780
754
</div>
781
 
<a class="anchor" id="ga0420a6cfa87aa96e5c9a56142aa0178d"></a><!-- doxytag: member="curve.h::stp_curve_get_gamma" ref="ga0420a6cfa87aa96e5c9a56142aa0178d" args="(const stp_curve_t *curve)" -->
 
755
<a class="anchor" id="ga0420a6cfa87aa96e5c9a56142aa0178d"></a>
782
756
<div class="memitem">
783
757
<div class="memproto">
784
758
      <table class="memname">
785
759
        <tr>
786
 
          <td class="memname">double <a class="el" href="group__curve.html#ga0420a6cfa87aa96e5c9a56142aa0178d">stp_curve_get_gamma</a> </td>
 
760
          <td class="memname">double stp_curve_get_gamma </td>
787
761
          <td>(</td>
788
762
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
789
763
          <td class="paramname"><em>curve</em></td><td>)</td>
790
764
          <td></td>
791
765
        </tr>
792
766
      </table>
793
 
</div>
794
 
<div class="memdoc">
 
767
</div><div class="memdoc">
795
768
 
796
769
<p>Get the gamma value of the curve. </p>
797
 
<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>
 
770
<dl class="section return"><dt>Returns:</dt><dd>the gamma value. A value of 0 indicates that the curve does not have a valid gamma value. </dd></dl>
798
771
 
799
772
</div>
800
773
</div>
801
 
<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)" -->
 
774
<a class="anchor" id="ga6de80e81b64262e0051441f697ae4de4"></a>
802
775
<div class="memitem">
803
776
<div class="memproto">
804
777
      <table class="memname">
805
778
        <tr>
806
 
          <td class="memname">const int* <a class="el" href="group__curve.html#ga6de80e81b64262e0051441f697ae4de4">stp_curve_get_int_data</a> </td>
 
779
          <td class="memname">const int* stp_curve_get_int_data </td>
807
780
          <td>(</td>
808
781
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
809
782
          <td class="paramname"><em>curve</em>, </td>
820
793
          <td></td><td></td>
821
794
        </tr>
822
795
      </table>
823
 
</div>
824
 
<div class="memdoc">
 
796
</div><div class="memdoc">
825
797
 
826
798
<p>Get pointer to the curve's raw data as integers. </p>
827
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
799
<dl class="params"><dt>Parameters:</dt><dd>
828
800
  <table class="params">
829
801
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
830
802
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
831
803
  </table>
832
804
  </dd>
833
805
</dl>
834
 
<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>
 
806
<dl class="section return"><dt>Returns:</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>
835
807
 
836
808
</div>
837
809
</div>
838
 
<a class="anchor" id="ga42c98a6a6d2512516738b6df9367510e"></a><!-- doxytag: member="curve.h::stp_curve_get_interpolation_type" ref="ga42c98a6a6d2512516738b6df9367510e" args="(const stp_curve_t *curve)" -->
 
810
<a class="anchor" id="ga42c98a6a6d2512516738b6df9367510e"></a>
839
811
<div class="memitem">
840
812
<div class="memproto">
841
813
      <table class="memname">
842
814
        <tr>
843
 
          <td class="memname"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> <a class="el" href="group__curve.html#ga42c98a6a6d2512516738b6df9367510e">stp_curve_get_interpolation_type</a> </td>
 
815
          <td class="memname"><a class="el" href="group__curve.html#ga982f8191c84b049cc3ad3cee1558fc23">stp_curve_type_t</a> stp_curve_get_interpolation_type </td>
844
816
          <td>(</td>
845
817
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
846
818
          <td class="paramname"><em>curve</em></td><td>)</td>
847
819
          <td></td>
848
820
        </tr>
849
821
      </table>
850
 
</div>
851
 
<div class="memdoc">
 
822
</div><div class="memdoc">
852
823
 
853
824
<p>Get the curve interpolation type. </p>
854
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
825
<dl class="params"><dt>Parameters:</dt><dd>
855
826
  <table class="params">
856
827
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
857
828
  </table>
858
829
  </dd>
859
830
</dl>
860
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the interpolation type. </dd></dl>
 
831
<dl class="section return"><dt>Returns:</dt><dd>the interpolation type. </dd></dl>
861
832
 
862
833
</div>
863
834
</div>
864
 
<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)" -->
 
835
<a class="anchor" id="gaf59bd38c9dfc7beb08a283dc9e400bf2"></a>
865
836
<div class="memitem">
866
837
<div class="memproto">
867
838
      <table class="memname">
868
839
        <tr>
869
 
          <td class="memname">const long* <a class="el" href="group__curve.html#gaf59bd38c9dfc7beb08a283dc9e400bf2">stp_curve_get_long_data</a> </td>
 
840
          <td class="memname">const long* stp_curve_get_long_data </td>
870
841
          <td>(</td>
871
842
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
872
843
          <td class="paramname"><em>curve</em>, </td>
883
854
          <td></td><td></td>
884
855
        </tr>
885
856
      </table>
886
 
</div>
887
 
<div class="memdoc">
 
857
</div><div class="memdoc">
888
858
 
889
859
<p>Get pointer to the curve's raw data as longs. </p>
890
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
860
<dl class="params"><dt>Parameters:</dt><dd>
891
861
  <table class="params">
892
862
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
893
863
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
894
864
  </table>
895
865
  </dd>
896
866
</dl>
897
 
<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>
 
867
<dl class="section return"><dt>Returns:</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>
898
868
 
899
869
</div>
900
870
</div>
901
 
<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)" -->
 
871
<a class="anchor" id="ga569aae57147ed7681f23e0e60bd8af35"></a>
902
872
<div class="memitem">
903
873
<div class="memproto">
904
874
      <table class="memname">
905
875
        <tr>
906
 
          <td class="memname">int <a class="el" href="group__curve.html#ga569aae57147ed7681f23e0e60bd8af35">stp_curve_get_point</a> </td>
 
876
          <td class="memname">int stp_curve_get_point </td>
907
877
          <td>(</td>
908
878
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
909
879
          <td class="paramname"><em>curve</em>, </td>
926
896
          <td></td><td></td>
927
897
        </tr>
928
898
      </table>
929
 
</div>
930
 
<div class="memdoc">
 
899
</div><div class="memdoc">
931
900
 
932
901
<p>Get a point along the curve. </p>
933
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
902
<dl class="params"><dt>Parameters:</dt><dd>
934
903
  <table class="params">
935
904
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
936
905
    <tr><td class="paramname">where</td><td>the point to get. </td></tr>
938
907
  </table>
939
908
  </dd>
940
909
</dl>
941
 
<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>
 
910
<dl class="section return"><dt>Returns:</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>
942
911
 
943
912
</div>
944
913
</div>
945
 
<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)" -->
 
914
<a class="anchor" id="gacb8e51731b9385556747744a0d4f43fb"></a>
946
915
<div class="memitem">
947
916
<div class="memproto">
948
917
      <table class="memname">
949
918
        <tr>
950
 
          <td class="memname">void <a class="el" href="group__curve.html#gacb8e51731b9385556747744a0d4f43fb">stp_curve_get_range</a> </td>
 
919
          <td class="memname">void stp_curve_get_range </td>
951
920
          <td>(</td>
952
921
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
953
922
          <td class="paramname"><em>curve</em>, </td>
970
939
          <td></td><td></td>
971
940
        </tr>
972
941
      </table>
973
 
</div>
974
 
<div class="memdoc">
 
942
</div><div class="memdoc">
975
943
 
976
944
</div>
977
945
</div>
978
 
<a class="anchor" id="gade323594e84d4380c88ecf122a5a4da8"></a><!-- doxytag: member="curve.h::stp_curve_get_sequence" ref="gade323594e84d4380c88ecf122a5a4da8" args="(const stp_curve_t *curve)" -->
 
946
<a class="anchor" id="gade323594e84d4380c88ecf122a5a4da8"></a>
979
947
<div class="memitem">
980
948
<div class="memproto">
981
949
      <table class="memname">
982
950
        <tr>
983
 
          <td class="memname">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a>* <a class="el" href="group__curve.html#gade323594e84d4380c88ecf122a5a4da8">stp_curve_get_sequence</a> </td>
 
951
          <td class="memname">const <a class="el" href="group__sequence.html#ga327a46aa1d782a4cd53abf306068e272">stp_sequence_t</a>* stp_curve_get_sequence </td>
984
952
          <td>(</td>
985
953
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
986
954
          <td class="paramname"><em>curve</em></td><td>)</td>
987
955
          <td></td>
988
956
        </tr>
989
957
      </table>
990
 
</div>
991
 
<div class="memdoc">
 
958
</div><div class="memdoc">
992
959
 
993
960
<p>Get the underlying stp_sequence_t data structure which stp_curve_t is derived from. </p>
994
961
<p>This can be used for fast access to the raw data. </p>
995
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
962
<dl class="params"><dt>Parameters:</dt><dd>
996
963
  <table class="params">
997
964
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
998
965
  </table>
999
966
  </dd>
1000
967
</dl>
1001
 
<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>
 
968
<dl class="section return"><dt>Returns:</dt><dd>the stp_sequence_t. If the curve is a piecewise curve, the sequence returned is NULL; </dd></dl>
1002
969
 
1003
970
</div>
1004
971
</div>
1005
 
<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)" -->
 
972
<a class="anchor" id="ga87c5d1904efa58be8a21ab6b2c41d0b9"></a>
1006
973
<div class="memitem">
1007
974
<div class="memproto">
1008
975
      <table class="memname">
1009
976
        <tr>
1010
 
          <td class="memname">const short* <a class="el" href="group__curve.html#ga87c5d1904efa58be8a21ab6b2c41d0b9">stp_curve_get_short_data</a> </td>
 
977
          <td class="memname">const short* stp_curve_get_short_data </td>
1011
978
          <td>(</td>
1012
979
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1013
980
          <td class="paramname"><em>curve</em>, </td>
1024
991
          <td></td><td></td>
1025
992
        </tr>
1026
993
      </table>
1027
 
</div>
1028
 
<div class="memdoc">
 
994
</div><div class="memdoc">
1029
995
 
1030
996
<p>Get pointer to the curve's raw data as shorts. </p>
1031
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
997
<dl class="params"><dt>Parameters:</dt><dd>
1032
998
  <table class="params">
1033
999
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1034
1000
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
1035
1001
  </table>
1036
1002
  </dd>
1037
1003
</dl>
1038
 
<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>
 
1004
<dl class="section return"><dt>Returns:</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>
1039
1005
 
1040
1006
</div>
1041
1007
</div>
1042
 
<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)" -->
 
1008
<a class="anchor" id="ga5cbf7c4b6ad96ecb35fc06f46c0319f0"></a>
1043
1009
<div class="memitem">
1044
1010
<div class="memproto">
1045
1011
      <table class="memname">
1046
1012
        <tr>
1047
 
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* <a class="el" href="group__curve.html#ga5cbf7c4b6ad96ecb35fc06f46c0319f0">stp_curve_get_subrange</a> </td>
 
1013
          <td class="memname"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a>* stp_curve_get_subrange </td>
1048
1014
          <td>(</td>
1049
1015
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1050
1016
          <td class="paramname"><em>curve</em>, </td>
1067
1033
          <td></td><td></td>
1068
1034
        </tr>
1069
1035
      </table>
1070
 
</div>
1071
 
<div class="memdoc">
 
1036
</div><div class="memdoc">
1072
1037
 
1073
1038
<p>Get a curve containing a subrange of data. </p>
1074
1039
<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>
1075
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1040
<dl class="params"><dt>Parameters:</dt><dd>
1076
1041
  <table class="params">
1077
1042
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1078
1043
    <tr><td class="paramname">start</td><td>the start of the subrange. </td></tr>
1080
1045
  </table>
1081
1046
  </dd>
1082
1047
</dl>
1083
 
<dl class="return"><dt><b>Returns:</b></dt><dd>a curve containing the subrange. The returned curve is non-wrapping. </dd></dl>
 
1048
<dl class="section return"><dt>Returns:</dt><dd>a curve containing the subrange. The returned curve is non-wrapping. </dd></dl>
1084
1049
 
1085
1050
</div>
1086
1051
</div>
1087
 
<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)" -->
 
1052
<a class="anchor" id="ga19b3160a57dc6959fe08c631c7206a8a"></a>
1088
1053
<div class="memitem">
1089
1054
<div class="memproto">
1090
1055
      <table class="memname">
1091
1056
        <tr>
1092
 
          <td class="memname">const unsigned int* <a class="el" href="group__curve.html#ga19b3160a57dc6959fe08c631c7206a8a">stp_curve_get_uint_data</a> </td>
 
1057
          <td class="memname">const unsigned int* stp_curve_get_uint_data </td>
1093
1058
          <td>(</td>
1094
1059
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1095
1060
          <td class="paramname"><em>curve</em>, </td>
1106
1071
          <td></td><td></td>
1107
1072
        </tr>
1108
1073
      </table>
1109
 
</div>
1110
 
<div class="memdoc">
 
1074
</div><div class="memdoc">
1111
1075
 
1112
1076
<p>Get pointer to the curve's raw data as unsigned integers. </p>
1113
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1077
<dl class="params"><dt>Parameters:</dt><dd>
1114
1078
  <table class="params">
1115
1079
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1116
1080
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
1117
1081
  </table>
1118
1082
  </dd>
1119
1083
</dl>
1120
 
<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>
 
1084
<dl class="section return"><dt>Returns:</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>
1121
1085
 
1122
1086
</div>
1123
1087
</div>
1124
 
<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)" -->
 
1088
<a class="anchor" id="ga24a862eda4cdbb626f51aeb7d8ae9a50"></a>
1125
1089
<div class="memitem">
1126
1090
<div class="memproto">
1127
1091
      <table class="memname">
1128
1092
        <tr>
1129
 
          <td class="memname">const unsigned long* <a class="el" href="group__curve.html#ga24a862eda4cdbb626f51aeb7d8ae9a50">stp_curve_get_ulong_data</a> </td>
 
1093
          <td class="memname">const unsigned long* stp_curve_get_ulong_data </td>
1130
1094
          <td>(</td>
1131
1095
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1132
1096
          <td class="paramname"><em>curve</em>, </td>
1143
1107
          <td></td><td></td>
1144
1108
        </tr>
1145
1109
      </table>
1146
 
</div>
1147
 
<div class="memdoc">
 
1110
</div><div class="memdoc">
1148
1111
 
1149
1112
<p>Get pointer to the curve's raw data as unsigned longs. </p>
1150
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1113
<dl class="params"><dt>Parameters:</dt><dd>
1151
1114
  <table class="params">
1152
1115
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1153
1116
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
1154
1117
  </table>
1155
1118
  </dd>
1156
1119
</dl>
1157
 
<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>
 
1120
<dl class="section return"><dt>Returns:</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>
1158
1121
 
1159
1122
</div>
1160
1123
</div>
1161
 
<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)" -->
 
1124
<a class="anchor" id="gaa02125af6b9c192e34985851370391b8"></a>
1162
1125
<div class="memitem">
1163
1126
<div class="memproto">
1164
1127
      <table class="memname">
1165
1128
        <tr>
1166
 
          <td class="memname">const unsigned short* <a class="el" href="group__curve.html#gaa02125af6b9c192e34985851370391b8">stp_curve_get_ushort_data</a> </td>
 
1129
          <td class="memname">const unsigned short* stp_curve_get_ushort_data </td>
1167
1130
          <td>(</td>
1168
1131
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1169
1132
          <td class="paramname"><em>curve</em>, </td>
1180
1143
          <td></td><td></td>
1181
1144
        </tr>
1182
1145
      </table>
1183
 
</div>
1184
 
<div class="memdoc">
 
1146
</div><div class="memdoc">
1185
1147
 
1186
1148
<p>Get pointer to the curve's raw data as unsigned shorts. </p>
1187
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1149
<dl class="params"><dt>Parameters:</dt><dd>
1188
1150
  <table class="params">
1189
1151
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1190
1152
    <tr><td class="paramname">count</td><td>a pointer to a size_t to store the curve size in. </td></tr>
1191
1153
  </table>
1192
1154
  </dd>
1193
1155
</dl>
1194
 
<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>
 
1156
<dl class="section return"><dt>Returns:</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>
1195
1157
 
1196
1158
</div>
1197
1159
</div>
1198
 
<a class="anchor" id="ga859020827897bac0f4671322ec027dc4"></a><!-- doxytag: member="curve.h::stp_curve_get_wrap" ref="ga859020827897bac0f4671322ec027dc4" args="(const stp_curve_t *curve)" -->
 
1160
<a class="anchor" id="ga859020827897bac0f4671322ec027dc4"></a>
1199
1161
<div class="memitem">
1200
1162
<div class="memproto">
1201
1163
      <table class="memname">
1202
1164
        <tr>
1203
 
          <td class="memname"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> <a class="el" href="group__curve.html#ga859020827897bac0f4671322ec027dc4">stp_curve_get_wrap</a> </td>
 
1165
          <td class="memname"><a class="el" href="group__curve.html#ga3ae3af552b490b0ca8b02e442ac9547a">stp_curve_wrap_mode_t</a> stp_curve_get_wrap </td>
1204
1166
          <td>(</td>
1205
1167
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1206
1168
          <td class="paramname"><em>curve</em></td><td>)</td>
1207
1169
          <td></td>
1208
1170
        </tr>
1209
1171
      </table>
1210
 
</div>
1211
 
<div class="memdoc">
 
1172
</div><div class="memdoc">
1212
1173
 
1213
1174
<p>Get the wrapping mode. </p>
1214
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1175
<dl class="params"><dt>Parameters:</dt><dd>
1215
1176
  <table class="params">
1216
1177
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1217
1178
  </table>
1218
1179
  </dd>
1219
1180
</dl>
1220
 
<dl class="return"><dt><b>Returns:</b></dt><dd>the wrapping mode. </dd></dl>
 
1181
<dl class="section return"><dt>Returns:</dt><dd>the wrapping mode. </dd></dl>
1221
1182
 
1222
1183
</div>
1223
1184
</div>
1224
 
<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)" -->
 
1185
<a class="anchor" id="gab33642ee6c49334f379a4dc185ecd355"></a>
1225
1186
<div class="memitem">
1226
1187
<div class="memproto">
1227
1188
      <table class="memname">
1228
1189
        <tr>
1229
 
          <td class="memname">int <a class="el" href="group__curve.html#gab33642ee6c49334f379a4dc185ecd355">stp_curve_interpolate_value</a> </td>
 
1190
          <td class="memname">int stp_curve_interpolate_value </td>
1230
1191
          <td>(</td>
1231
1192
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1232
1193
          <td class="paramname"><em>curve</em>, </td>
1249
1210
          <td></td><td></td>
1250
1211
        </tr>
1251
1212
      </table>
1252
 
</div>
1253
 
<div class="memdoc">
 
1213
</div><div class="memdoc">
1254
1214
 
1255
1215
<p>Interpolate a point along the curve. </p>
1256
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1216
<dl class="params"><dt>Parameters:</dt><dd>
1257
1217
  <table class="params">
1258
1218
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1259
1219
    <tr><td class="paramname">where</td><td>the point to interpolate. </td></tr>
1261
1221
  </table>
1262
1222
  </dd>
1263
1223
</dl>
1264
 
<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>
 
1224
<dl class="section return"><dt>Returns:</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>
1265
1225
 
1266
1226
</div>
1267
1227
</div>
1268
 
<a class="anchor" id="ga29b022a3055afe0b48d1f2736ff2f4da"></a><!-- doxytag: member="curve.h::stp_curve_is_piecewise" ref="ga29b022a3055afe0b48d1f2736ff2f4da" args="(const stp_curve_t *curve)" -->
 
1228
<a class="anchor" id="ga29b022a3055afe0b48d1f2736ff2f4da"></a>
1269
1229
<div class="memitem">
1270
1230
<div class="memproto">
1271
1231
      <table class="memname">
1272
1232
        <tr>
1273
 
          <td class="memname">int <a class="el" href="group__curve.html#ga29b022a3055afe0b48d1f2736ff2f4da">stp_curve_is_piecewise</a> </td>
 
1233
          <td class="memname">int stp_curve_is_piecewise </td>
1274
1234
          <td>(</td>
1275
1235
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1276
1236
          <td class="paramname"><em>curve</em></td><td>)</td>
1277
1237
          <td></td>
1278
1238
        </tr>
1279
1239
      </table>
1280
 
</div>
1281
 
<div class="memdoc">
 
1240
</div><div class="memdoc">
1282
1241
 
1283
1242
<p>Determine whether the curve is piecewise. </p>
1284
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1243
<dl class="params"><dt>Parameters:</dt><dd>
1285
1244
  <table class="params">
1286
1245
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1287
1246
  </table>
1288
1247
  </dd>
1289
1248
</dl>
1290
 
<dl class="return"><dt><b>Returns:</b></dt><dd>whether the curve is piecewise </dd></dl>
 
1249
<dl class="section return"><dt>Returns:</dt><dd>whether the curve is piecewise </dd></dl>
1291
1250
 
1292
1251
</div>
1293
1252
</div>
1294
 
<a class="anchor" id="ga87298cf562468cbcf2c1f76a0ab80b62"></a><!-- doxytag: member="curve.h::stp_curve_resample" ref="ga87298cf562468cbcf2c1f76a0ab80b62" args="(stp_curve_t *curve, size_t points)" -->
 
1253
<a class="anchor" id="ga87298cf562468cbcf2c1f76a0ab80b62"></a>
1295
1254
<div class="memitem">
1296
1255
<div class="memproto">
1297
1256
      <table class="memname">
1298
1257
        <tr>
1299
 
          <td class="memname">int <a class="el" href="group__curve.html#ga87298cf562468cbcf2c1f76a0ab80b62">stp_curve_resample</a> </td>
 
1258
          <td class="memname">int stp_curve_resample </td>
1300
1259
          <td>(</td>
1301
1260
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1302
1261
          <td class="paramname"><em>curve</em>, </td>
1313
1272
          <td></td><td></td>
1314
1273
        </tr>
1315
1274
      </table>
1316
 
</div>
1317
 
<div class="memdoc">
 
1275
</div><div class="memdoc">
1318
1276
 
1319
1277
<p>Resample a curve (change the number of points). </p>
1320
1278
<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>
1321
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1279
<dl class="params"><dt>Parameters:</dt><dd>
1322
1280
  <table class="params">
1323
1281
    <tr><td class="paramname">curve</td><td>the curve to use (must not exceed 1048576). </td></tr>
1324
1282
    <tr><td class="paramname">points</td><td>the number of points. </td></tr>
1325
1283
  </table>
1326
1284
  </dd>
1327
1285
</dl>
1328
 
<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>
 
1286
<dl class="section return"><dt>Returns:</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>
1329
1287
 
1330
1288
</div>
1331
1289
</div>
1332
 
<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)" -->
 
1290
<a class="anchor" id="gaad611b3ddbd667ec204fa7b42f8d7546"></a>
1333
1291
<div class="memitem">
1334
1292
<div class="memproto">
1335
1293
      <table class="memname">
1336
1294
        <tr>
1337
 
          <td class="memname">int <a class="el" href="group__curve.html#gaad611b3ddbd667ec204fa7b42f8d7546">stp_curve_rescale</a> </td>
 
1295
          <td class="memname">int stp_curve_rescale </td>
1338
1296
          <td>(</td>
1339
1297
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1340
1298
          <td class="paramname"><em>curve</em>, </td>
1363
1321
          <td></td><td></td>
1364
1322
        </tr>
1365
1323
      </table>
1366
 
</div>
1367
 
<div class="memdoc">
 
1324
</div><div class="memdoc">
1368
1325
 
1369
1326
<p>Rescale a curve (multiply all points by a scaling constant). </p>
1370
1327
<p>This also rescales the bounds. Note that this currently destroys the gamma property of the curve. </p>
1371
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1328
<dl class="params"><dt>Parameters:</dt><dd>
1372
1329
  <table class="params">
1373
1330
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1374
1331
    <tr><td class="paramname">scale</td><td>the scaling factor. </td></tr>
1377
1334
  </table>
1378
1335
  </dd>
1379
1336
</dl>
1380
 
<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if this would exceed floating point limits </dd></dl>
 
1337
<dl class="section return"><dt>Returns:</dt><dd>FALSE if this would exceed floating point limits </dd></dl>
1381
1338
 
1382
1339
</div>
1383
1340
</div>
1384
 
<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)" -->
 
1341
<a class="anchor" id="ga3416157017287eae136fb928802be234"></a>
1385
1342
<div class="memitem">
1386
1343
<div class="memproto">
1387
1344
      <table class="memname">
1388
1345
        <tr>
1389
 
          <td class="memname">void <a class="el" href="group__curve.html#ga3416157017287eae136fb928802be234">stp_curve_reverse</a> </td>
 
1346
          <td class="memname">void stp_curve_reverse </td>
1390
1347
          <td>(</td>
1391
1348
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1392
1349
          <td class="paramname"><em>dest</em>, </td>
1403
1360
          <td></td><td></td>
1404
1361
        </tr>
1405
1362
      </table>
1406
 
</div>
1407
 
<div class="memdoc">
 
1363
</div><div class="memdoc">
1408
1364
 
1409
1365
<p>Reverse a curve. </p>
1410
1366
<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>
1411
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1367
<dl class="params"><dt>Parameters:</dt><dd>
1412
1368
  <table class="params">
1413
1369
    <tr><td class="paramname">dest</td><td>the destination curve. </td></tr>
1414
1370
    <tr><td class="paramname">source</td><td>the source curve. </td></tr>
1418
1374
 
1419
1375
</div>
1420
1376
</div>
1421
 
<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)" -->
 
1377
<a class="anchor" id="gae32fb850963b8694d3739c0ed8475f75"></a>
1422
1378
<div class="memitem">
1423
1379
<div class="memproto">
1424
1380
      <table class="memname">
1425
1381
        <tr>
1426
 
          <td class="memname">int <a class="el" href="group__curve.html#gae32fb850963b8694d3739c0ed8475f75">stp_curve_set_bounds</a> </td>
 
1382
          <td class="memname">int stp_curve_set_bounds </td>
1427
1383
          <td>(</td>
1428
1384
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1429
1385
          <td class="paramname"><em>curve</em>, </td>
1446
1402
          <td></td><td></td>
1447
1403
        </tr>
1448
1404
      </table>
1449
 
</div>
1450
 
<div class="memdoc">
 
1405
</div><div class="memdoc">
1451
1406
 
1452
1407
<p>Set the lower and upper bounds on a curve. </p>
1453
1408
<p>To change the bounds adjusting data as required, use stp_curve_rescale instead. </p>
1454
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1409
<dl class="params"><dt>Parameters:</dt><dd>
1455
1410
  <table class="params">
1456
1411
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1457
1412
    <tr><td class="paramname">low</td><td>the lower bound. </td></tr>
1459
1414
  </table>
1460
1415
  </dd>
1461
1416
</dl>
1462
 
<dl class="return"><dt><b>Returns:</b></dt><dd>FALSE if any existing points on the curve are outside the bounds. </dd></dl>
 
1417
<dl class="section return"><dt>Returns:</dt><dd>FALSE if any existing points on the curve are outside the bounds. </dd></dl>
1463
1418
 
1464
1419
</div>
1465
1420
</div>
1466
 
<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)" -->
 
1421
<a class="anchor" id="ga81bceb4cb991cef1cda2298cf7bb9f15"></a>
1467
1422
<div class="memitem">
1468
1423
<div class="memproto">
1469
1424
      <table class="memname">
1470
1425
        <tr>
1471
 
          <td class="memname">int <a class="el" href="group__curve.html#ga81bceb4cb991cef1cda2298cf7bb9f15">stp_curve_set_data</a> </td>
 
1426
          <td class="memname">int stp_curve_set_data </td>
1472
1427
          <td>(</td>
1473
1428
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1474
1429
          <td class="paramname"><em>curve</em>, </td>
1491
1446
          <td></td><td></td>
1492
1447
        </tr>
1493
1448
      </table>
1494
 
</div>
1495
 
<div class="memdoc">
 
1449
</div><div class="memdoc">
1496
1450
 
1497
1451
<p>Set all data points of the curve. </p>
1498
1452
<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>
1499
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1453
<dl class="params"><dt>Parameters:</dt><dd>
1500
1454
  <table class="params">
1501
1455
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1502
1456
    <tr><td class="paramname">count</td><td>the number of points (must be at least two and not more than 1048576). </td></tr>
1504
1458
  </table>
1505
1459
  </dd>
1506
1460
</dl>
1507
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1461
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1508
1462
 
1509
1463
</div>
1510
1464
</div>
1511
 
<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)" -->
 
1465
<a class="anchor" id="gace09cab4e6ae3d55f75aacae3689e8e6"></a>
1512
1466
<div class="memitem">
1513
1467
<div class="memproto">
1514
1468
      <table class="memname">
1515
1469
        <tr>
1516
 
          <td class="memname">int <a class="el" href="group__curve.html#gace09cab4e6ae3d55f75aacae3689e8e6">stp_curve_set_data_points</a> </td>
 
1470
          <td class="memname">int stp_curve_set_data_points </td>
1517
1471
          <td>(</td>
1518
1472
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1519
1473
          <td class="paramname"><em>curve</em>, </td>
1536
1490
          <td></td><td></td>
1537
1491
        </tr>
1538
1492
      </table>
1539
 
</div>
1540
 
<div class="memdoc">
 
1493
</div><div class="memdoc">
1541
1494
 
1542
1495
<p>Set all data points of the curve. </p>
1543
1496
<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>
1544
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1497
<dl class="params"><dt>Parameters:</dt><dd>
1545
1498
  <table class="params">
1546
1499
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1547
1500
    <tr><td class="paramname">count</td><td>the number of points (must be at least two and not more than 1048576). </td></tr>
1549
1502
  </table>
1550
1503
  </dd>
1551
1504
</dl>
1552
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1505
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1553
1506
 
1554
1507
</div>
1555
1508
</div>
1556
 
<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)" -->
 
1509
<a class="anchor" id="gabd7a39289471607311141c7fc3bbb415"></a>
1557
1510
<div class="memitem">
1558
1511
<div class="memproto">
1559
1512
      <table class="memname">
1560
1513
        <tr>
1561
 
          <td class="memname">int <a class="el" href="group__curve.html#gabd7a39289471607311141c7fc3bbb415">stp_curve_set_float_data</a> </td>
 
1514
          <td class="memname">int stp_curve_set_float_data </td>
1562
1515
          <td>(</td>
1563
1516
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1564
1517
          <td class="paramname"><em>curve</em>, </td>
1581
1534
          <td></td><td></td>
1582
1535
        </tr>
1583
1536
      </table>
1584
 
</div>
1585
 
<div class="memdoc">
 
1537
</div><div class="memdoc">
1586
1538
 
1587
1539
<p>Set the data points in a curve from float values. </p>
1588
1540
<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>
1589
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1541
<dl class="params"><dt>Parameters:</dt><dd>
1590
1542
  <table class="params">
1591
1543
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1592
1544
    <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>
1594
1546
  </table>
1595
1547
  </dd>
1596
1548
</dl>
1597
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1549
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1598
1550
 
1599
1551
</div>
1600
1552
</div>
1601
 
<a class="anchor" id="gacb8a2b9b21f97f32faacb99a6125e152"></a><!-- doxytag: member="curve.h::stp_curve_set_gamma" ref="gacb8a2b9b21f97f32faacb99a6125e152" args="(stp_curve_t *curve, double f_gamma)" -->
 
1553
<a class="anchor" id="gacb8a2b9b21f97f32faacb99a6125e152"></a>
1602
1554
<div class="memitem">
1603
1555
<div class="memproto">
1604
1556
      <table class="memname">
1605
1557
        <tr>
1606
 
          <td class="memname">int <a class="el" href="group__curve.html#gacb8a2b9b21f97f32faacb99a6125e152">stp_curve_set_gamma</a> </td>
 
1558
          <td class="memname">int stp_curve_set_gamma </td>
1607
1559
          <td>(</td>
1608
1560
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1609
1561
          <td class="paramname"><em>curve</em>, </td>
1620
1572
          <td></td><td></td>
1621
1573
        </tr>
1622
1574
      </table>
1623
 
</div>
1624
 
<div class="memdoc">
 
1575
</div><div class="memdoc">
1625
1576
 
1626
1577
<p>Set the gamma of a curve. </p>
1627
1578
<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>
1628
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1579
<dl class="params"><dt>Parameters:</dt><dd>
1629
1580
  <table class="params">
1630
1581
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1631
1582
    <tr><td class="paramname">f_gamma</td><td>the gamma value to set. </td></tr>
1632
1583
  </table>
1633
1584
  </dd>
1634
1585
</dl>
1635
 
<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>
 
1586
<dl class="section return"><dt>Returns:</dt><dd>FALSE if the gamma value is illegal (0, infinity, or NaN), or if the curve wraps around. </dd></dl>
1636
1587
 
1637
1588
</div>
1638
1589
</div>
1639
 
<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)" -->
 
1590
<a class="anchor" id="ga31e76843f4d2f207701755b58766a670"></a>
1640
1591
<div class="memitem">
1641
1592
<div class="memproto">
1642
1593
      <table class="memname">
1643
1594
        <tr>
1644
 
          <td class="memname">int <a class="el" href="group__curve.html#ga31e76843f4d2f207701755b58766a670">stp_curve_set_int_data</a> </td>
 
1595
          <td class="memname">int stp_curve_set_int_data </td>
1645
1596
          <td>(</td>
1646
1597
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1647
1598
          <td class="paramname"><em>curve</em>, </td>
1664
1615
          <td></td><td></td>
1665
1616
        </tr>
1666
1617
      </table>
1667
 
</div>
1668
 
<div class="memdoc">
 
1618
</div><div class="memdoc">
1669
1619
 
1670
1620
<p>Set the data points in a curve from integer values. </p>
1671
1621
<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>
1672
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1622
<dl class="params"><dt>Parameters:</dt><dd>
1673
1623
  <table class="params">
1674
1624
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1675
1625
    <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>
1677
1627
  </table>
1678
1628
  </dd>
1679
1629
</dl>
1680
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1630
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1681
1631
 
1682
1632
</div>
1683
1633
</div>
1684
 
<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)" -->
 
1634
<a class="anchor" id="ga82890cef78f5861a88c5789c33693423"></a>
1685
1635
<div class="memitem">
1686
1636
<div class="memproto">
1687
1637
      <table class="memname">
1688
1638
        <tr>
1689
 
          <td class="memname">int <a class="el" href="group__curve.html#ga82890cef78f5861a88c5789c33693423">stp_curve_set_interpolation_type</a> </td>
 
1639
          <td class="memname">int stp_curve_set_interpolation_type </td>
1690
1640
          <td>(</td>
1691
1641
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1692
1642
          <td class="paramname"><em>curve</em>, </td>
1703
1653
          <td></td><td></td>
1704
1654
        </tr>
1705
1655
      </table>
1706
 
</div>
1707
 
<div class="memdoc">
 
1656
</div><div class="memdoc">
1708
1657
 
1709
1658
<p>Set the curve interpolation type. </p>
1710
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1659
<dl class="params"><dt>Parameters:</dt><dd>
1711
1660
  <table class="params">
1712
1661
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1713
1662
    <tr><td class="paramname">itype</td><td>the interpolation type. </td></tr>
1714
1663
  </table>
1715
1664
  </dd>
1716
1665
</dl>
1717
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, or 0 if itype is invalid. </dd></dl>
 
1666
<dl class="section return"><dt>Returns:</dt><dd>1 on success, or 0 if itype is invalid. </dd></dl>
1718
1667
 
1719
1668
</div>
1720
1669
</div>
1721
 
<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)" -->
 
1670
<a class="anchor" id="gae6a435a21a5c4b5e582d42095a7b06fc"></a>
1722
1671
<div class="memitem">
1723
1672
<div class="memproto">
1724
1673
      <table class="memname">
1725
1674
        <tr>
1726
 
          <td class="memname">int <a class="el" href="group__curve.html#gae6a435a21a5c4b5e582d42095a7b06fc">stp_curve_set_long_data</a> </td>
 
1675
          <td class="memname">int stp_curve_set_long_data </td>
1727
1676
          <td>(</td>
1728
1677
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1729
1678
          <td class="paramname"><em>curve</em>, </td>
1746
1695
          <td></td><td></td>
1747
1696
        </tr>
1748
1697
      </table>
1749
 
</div>
1750
 
<div class="memdoc">
 
1698
</div><div class="memdoc">
1751
1699
 
1752
1700
<p>Set the data points in a curve from long values. </p>
1753
1701
<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>
1754
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1702
<dl class="params"><dt>Parameters:</dt><dd>
1755
1703
  <table class="params">
1756
1704
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1757
1705
    <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>
1759
1707
  </table>
1760
1708
  </dd>
1761
1709
</dl>
1762
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1710
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1763
1711
 
1764
1712
</div>
1765
1713
</div>
1766
 
<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)" -->
 
1714
<a class="anchor" id="ga2d3b8372bde3fce699a3b7bb3c9d8582"></a>
1767
1715
<div class="memitem">
1768
1716
<div class="memproto">
1769
1717
      <table class="memname">
1770
1718
        <tr>
1771
 
          <td class="memname">int <a class="el" href="group__curve.html#ga2d3b8372bde3fce699a3b7bb3c9d8582">stp_curve_set_point</a> </td>
 
1719
          <td class="memname">int stp_curve_set_point </td>
1772
1720
          <td>(</td>
1773
1721
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1774
1722
          <td class="paramname"><em>curve</em>, </td>
1791
1739
          <td></td><td></td>
1792
1740
        </tr>
1793
1741
      </table>
1794
 
</div>
1795
 
<div class="memdoc">
 
1742
</div><div class="memdoc">
1796
1743
 
1797
1744
<p>Set a point along the curve. </p>
1798
1745
<p>This call destroys any gamma value assigned to the curve. </p>
1799
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1746
<dl class="params"><dt>Parameters:</dt><dd>
1800
1747
  <table class="params">
1801
1748
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1802
1749
    <tr><td class="paramname">where</td><td>the point to set. </td></tr>
1804
1751
  </table>
1805
1752
  </dd>
1806
1753
</dl>
1807
 
<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>
 
1754
<dl class="section return"><dt>Returns:</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>
1808
1755
 
1809
1756
</div>
1810
1757
</div>
1811
 
<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)" -->
 
1758
<a class="anchor" id="ga2fa5222aab07e85f215e389734b6dbea"></a>
1812
1759
<div class="memitem">
1813
1760
<div class="memproto">
1814
1761
      <table class="memname">
1815
1762
        <tr>
1816
 
          <td class="memname">int <a class="el" href="group__curve.html#ga2fa5222aab07e85f215e389734b6dbea">stp_curve_set_short_data</a> </td>
 
1763
          <td class="memname">int stp_curve_set_short_data </td>
1817
1764
          <td>(</td>
1818
1765
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1819
1766
          <td class="paramname"><em>curve</em>, </td>
1836
1783
          <td></td><td></td>
1837
1784
        </tr>
1838
1785
      </table>
1839
 
</div>
1840
 
<div class="memdoc">
 
1786
</div><div class="memdoc">
1841
1787
 
1842
1788
<p>Set the data points in a curve from short values. </p>
1843
1789
<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>
1844
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1790
<dl class="params"><dt>Parameters:</dt><dd>
1845
1791
  <table class="params">
1846
1792
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1847
1793
    <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>
1849
1795
  </table>
1850
1796
  </dd>
1851
1797
</dl>
1852
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1798
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1853
1799
 
1854
1800
</div>
1855
1801
</div>
1856
 
<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)" -->
 
1802
<a class="anchor" id="ga73dfcc4c95734449965227e21deb3037"></a>
1857
1803
<div class="memitem">
1858
1804
<div class="memproto">
1859
1805
      <table class="memname">
1860
1806
        <tr>
1861
 
          <td class="memname">int <a class="el" href="group__curve.html#ga73dfcc4c95734449965227e21deb3037">stp_curve_set_subrange</a> </td>
 
1807
          <td class="memname">int stp_curve_set_subrange </td>
1862
1808
          <td>(</td>
1863
1809
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1864
1810
          <td class="paramname"><em>curve</em>, </td>
1881
1827
          <td></td><td></td>
1882
1828
        </tr>
1883
1829
      </table>
1884
 
</div>
1885
 
<div class="memdoc">
 
1830
</div><div class="memdoc">
1886
1831
 
1887
1832
</div>
1888
1833
</div>
1889
 
<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)" -->
 
1834
<a class="anchor" id="ga3ee80f8e4f33691a78b3ad8c3fd7c34f"></a>
1890
1835
<div class="memitem">
1891
1836
<div class="memproto">
1892
1837
      <table class="memname">
1893
1838
        <tr>
1894
 
          <td class="memname">int <a class="el" href="group__curve.html#ga3ee80f8e4f33691a78b3ad8c3fd7c34f">stp_curve_set_uint_data</a> </td>
 
1839
          <td class="memname">int stp_curve_set_uint_data </td>
1895
1840
          <td>(</td>
1896
1841
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1897
1842
          <td class="paramname"><em>curve</em>, </td>
1914
1859
          <td></td><td></td>
1915
1860
        </tr>
1916
1861
      </table>
1917
 
</div>
1918
 
<div class="memdoc">
 
1862
</div><div class="memdoc">
1919
1863
 
1920
1864
<p>Set the data points in a curve from unsigned integer values. </p>
1921
1865
<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>
1922
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1866
<dl class="params"><dt>Parameters:</dt><dd>
1923
1867
  <table class="params">
1924
1868
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1925
1869
    <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>
1927
1871
  </table>
1928
1872
  </dd>
1929
1873
</dl>
1930
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1874
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1931
1875
 
1932
1876
</div>
1933
1877
</div>
1934
 
<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)" -->
 
1878
<a class="anchor" id="ga723173297f5b67af937205c7d74ac353"></a>
1935
1879
<div class="memitem">
1936
1880
<div class="memproto">
1937
1881
      <table class="memname">
1938
1882
        <tr>
1939
 
          <td class="memname">int <a class="el" href="group__curve.html#ga723173297f5b67af937205c7d74ac353">stp_curve_set_ulong_data</a> </td>
 
1883
          <td class="memname">int stp_curve_set_ulong_data </td>
1940
1884
          <td>(</td>
1941
1885
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1942
1886
          <td class="paramname"><em>curve</em>, </td>
1959
1903
          <td></td><td></td>
1960
1904
        </tr>
1961
1905
      </table>
1962
 
</div>
1963
 
<div class="memdoc">
 
1906
</div><div class="memdoc">
1964
1907
 
1965
1908
<p>Set the data points in a curve from unsigned long values. </p>
1966
1909
<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>
1967
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1910
<dl class="params"><dt>Parameters:</dt><dd>
1968
1911
  <table class="params">
1969
1912
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
1970
1913
    <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>
1972
1915
  </table>
1973
1916
  </dd>
1974
1917
</dl>
1975
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1918
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
1976
1919
 
1977
1920
</div>
1978
1921
</div>
1979
 
<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)" -->
 
1922
<a class="anchor" id="ga0af395eefa7bfe0d19acc1acbaeefe48"></a>
1980
1923
<div class="memitem">
1981
1924
<div class="memproto">
1982
1925
      <table class="memname">
1983
1926
        <tr>
1984
 
          <td class="memname">int <a class="el" href="group__curve.html#ga0af395eefa7bfe0d19acc1acbaeefe48">stp_curve_set_ushort_data</a> </td>
 
1927
          <td class="memname">int stp_curve_set_ushort_data </td>
1985
1928
          <td>(</td>
1986
1929
          <td class="paramtype"><a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
1987
1930
          <td class="paramname"><em>curve</em>, </td>
2004
1947
          <td></td><td></td>
2005
1948
        </tr>
2006
1949
      </table>
2007
 
</div>
2008
 
<div class="memdoc">
 
1950
</div><div class="memdoc">
2009
1951
 
2010
1952
<p>Set the data points in a curve from unsigned short values. </p>
2011
1953
<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>
2012
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1954
<dl class="params"><dt>Parameters:</dt><dd>
2013
1955
  <table class="params">
2014
1956
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
2015
1957
    <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>
2017
1959
  </table>
2018
1960
  </dd>
2019
1961
</dl>
2020
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
1962
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
2021
1963
 
2022
1964
</div>
2023
1965
</div>
2024
 
<a class="anchor" id="gac12af55cf0eb2f76db967886f8996313"></a><!-- doxytag: member="curve.h::stp_curve_write" ref="gac12af55cf0eb2f76db967886f8996313" args="(FILE *file, const stp_curve_t *curve)" -->
 
1966
<a class="anchor" id="gac12af55cf0eb2f76db967886f8996313"></a>
2025
1967
<div class="memitem">
2026
1968
<div class="memproto">
2027
1969
      <table class="memname">
2028
1970
        <tr>
2029
 
          <td class="memname">int <a class="el" href="group__curve.html#gac12af55cf0eb2f76db967886f8996313">stp_curve_write</a> </td>
 
1971
          <td class="memname">int stp_curve_write </td>
2030
1972
          <td>(</td>
2031
1973
          <td class="paramtype">FILE *&#160;</td>
2032
1974
          <td class="paramname"><em>file</em>, </td>
2043
1985
          <td></td><td></td>
2044
1986
        </tr>
2045
1987
      </table>
2046
 
</div>
2047
 
<div class="memdoc">
 
1988
</div><div class="memdoc">
2048
1989
 
2049
1990
<p>Write a curve to a file. </p>
2050
1991
<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>
2051
 
<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>
2052
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
1992
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
 
1993
<dl class="params"><dt>Parameters:</dt><dd>
2053
1994
  <table class="params">
2054
1995
    <tr><td class="paramname">file</td><td>the file to write. </td></tr>
2055
1996
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
2056
1997
  </table>
2057
1998
  </dd>
2058
1999
</dl>
2059
 
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
 
2000
<dl class="section return"><dt>Returns:</dt><dd>1 on success, 0 on failure. </dd></dl>
2060
2001
 
2061
2002
</div>
2062
2003
</div>
2063
 
<a class="anchor" id="gaf2f0da590278ff74af1eccb0aa0c7169"></a><!-- doxytag: member="curve.h::stp_curve_write_string" ref="gaf2f0da590278ff74af1eccb0aa0c7169" args="(const stp_curve_t *curve)" -->
 
2004
<a class="anchor" id="gaf2f0da590278ff74af1eccb0aa0c7169"></a>
2064
2005
<div class="memitem">
2065
2006
<div class="memproto">
2066
2007
      <table class="memname">
2067
2008
        <tr>
2068
 
          <td class="memname">char* <a class="el" href="group__curve.html#gaf2f0da590278ff74af1eccb0aa0c7169">stp_curve_write_string</a> </td>
 
2009
          <td class="memname">char* stp_curve_write_string </td>
2069
2010
          <td>(</td>
2070
2011
          <td class="paramtype">const <a class="el" href="group__curve.html#ga375a2b23705fb0698ae1d823243c8524">stp_curve_t</a> *&#160;</td>
2071
2012
          <td class="paramname"><em>curve</em></td><td>)</td>
2072
2013
          <td></td>
2073
2014
        </tr>
2074
2015
      </table>
2075
 
</div>
2076
 
<div class="memdoc">
 
2016
</div><div class="memdoc">
2077
2017
 
2078
2018
<p>Write a curve to a string. </p>
2079
2019
<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>
2080
 
<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>
2081
 
<dl class="params"><dt><b>Parameters:</b></dt><dd>
 
2020
<dl class="section warning"><dt>Warning:</dt><dd>NOTE that these calls are not thread-safe! These routines may manipulate the locale to achieve a safe representation. </dd></dl>
 
2021
<dl class="params"><dt>Parameters:</dt><dd>
2082
2022
  <table class="params">
2083
2023
    <tr><td class="paramname">curve</td><td>the curve to use. </td></tr>
2084
2024
  </table>
2085
2025
  </dd>
2086
2026
</dl>
2087
 
<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>
 
2027
<dl class="section return"><dt>Returns:</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>
2088
2028
 
2089
2029
</div>
2090
2030
</div>
2091
2031
</div><!-- contents -->
2092
 
 
2093
 
 
 
2032
<!-- start footer part -->
2094
2033
<hr class="footer"/><address class="footer"><small>
2095
2034
Generated by &#160;<a href="http://www.doxygen.org/index.html">
2096
2035
<img class="footer" src="doxygen.png" alt="doxygen"/>
2097
 
</a> 1.7.6.1
 
2036
</a> 1.8.1
2098
2037
</small></address>
2099
 
 
2100
2038
</body>
2101
2039
</html>