| Laxkit
    0.0.7.1
    | 

| Public Types | |
| enum | CurveTypes { Linear, Autosmooth, Bezier } | 
| Public Member Functions | |
| CurveInfo (const char *ntitle, const char *xl, double nxmin, double nxmax, const char *yl, double nymin, double nymax) | |
| virtual const char * | whattype () | 
| virtual void | SetXBounds (double nxmin, double nxmax) | 
| virtual void | SetYBounds (double nymin, double nymax) | 
| virtual void | SetTitle (const char *ntitle) | 
| virtual double | f (double x) | 
| virtual double | f_linear (double x) | 
| Return y value for x. Out of range x and y are clamped to bounds. | |
| virtual double | f_autosmooth (double x) | 
| Return y value for x. Out of range x and y are clamped to bounds. | |
| virtual double | f_bezier (double x) | 
| Return y value for x. Out of range x and y are clamped to bounds. | |
| virtual flatpoint | MapUnitPoint (flatpoint p) | 
| virtual int | AddPoint (double x, double y) | 
| virtual int | MovePoint (int index, double x, double y) | 
| virtual void | SetSinusoidal (int samples) | 
| virtual void | Reset () | 
| virtual void | MakeFakeCurve () | 
| Fills fauxpoints with c-v-c-c-v-c... | |
| virtual int | MakeLookupTable (int *table, int numentries, int minvalue, int maxvalue) | 
| virtual void | RefreshLookup () | 
| Refresh the integer approximation lookup table. | |
| virtual void | RefreshLookup (int nsamples, int nmin, int nmax) | 
| Refresh the integer approximation lookup table, adjusting sample size and bounds. | |
| virtual void | LookupDump (const char *label, FILE *f) | 
| virtual void | dump_out (FILE *f, int indent, int what, anObject *context) | 
| virtual LaxFiles::Attribute * | dump_out_atts (LaxFiles::Attribute *att, int what, anObject *context) | 
| virtual void | dump_in_atts (LaxFiles::Attribute *att, int flag, anObject *context) | 
|  Public Member Functions inherited from Laxkit::anObject | |
| anObject () | |
| Set object_id=getUniqueNumber(). | |
| virtual | ~anObject () | 
| Empty virtual destructor. | |
| virtual anObject * | duplicate (anObject *ref=NULL) | 
| virtual int | inc_count () | 
| Increment the data's count by 1. Returns count. | |
| virtual int | dec_count () | 
| Decrement the count of the data, deleting if count is less than or equal to 0. | |
| virtual int | the_count () | 
|  Public Member Functions inherited from LaxFiles::DumpUtility | |
| virtual void | dump_in (FILE *f, int indent, int what, Laxkit::anObject *loadcontext, Attribute **att) | 
| Read in a file segment as an Attribute, and pass parsing duties to dump_in_atts. | |
| virtual | ~DumpUtility () | 
| Empty virtual destructor. | |
| Public Attributes | |
| double | xmin | 
| double | xmax | 
| double | ymin | 
| double | ymax | 
| char * | xlabel | 
| char * | ylabel | 
| char * | title | 
| CurveTypes | curvetype | 
| int | numsamples | 
| int | lookup_min | 
| int | lookup_max | 
| int * | lookup | 
| NumStack< flatpoint > | points | 
| NumStack< flatpoint > | fauxpoints | 
|  Public Attributes inherited from Laxkit::anObject | |
| int | suppress_debug | 
| DeleteRefCountedFunc | deleteMe | 
| Called when the count is decremented to 0. | |
| unsigned long | object_id | 
| char * | object_idstr | 
| Private Member Functions | |
| void | base_init () | 
| Additional Inherited Members | |
|  Protected Attributes inherited from Laxkit::anObject | |
| int | _count | 
| The reference count of the object. | |
Info for x -> y transformation
| 
 | virtual | 
x,y are in actual range (as opposed to points space). Point is clamped to proper range.
Return 0 for success.
| 
 | virtual | 
Fills fauxpoints with c-v-c-c-v-c...
Basically for each point, push handles that are parallel to a line connecting the points on either side.
Note this is not a very good way to approximate points when there are a lot of points. It does ok for a very sparse collection of points.
References flatvector::normalize().
Referenced by Laxkit::CurveWindow::MouseMove().
| 
 | virtual | 
numentries must be 2 or greater. Assumes table is already allocated.
Return -1 for error, or 0 for success.
Adjust existing point. x value is clamped to adjacent bounds.
Refresh the integer approximation lookup table, adjusting sample size and bounds.
If nsamples is > 0, then use that as new sample size and bounds.
| 
 | virtual | 
Resets to 2 point linear, 0 to 1 (unmapped). Does NOT change bounds.
Referenced by Laxkit::CurveWindow::Reset().
| 
 | virtual | 
Make a sine like curve with max point at minx, min point at maxx. samples needs to be >= 2.