|
| PixelCurve1D (double x1=0, double y1=0, double x2=1, double y2=1, uInt npoints=0) |
| Define a straight line from (x1,y1) to (x2,y2). More...
|
|
| PixelCurve1D (const Function1D< float, float > &, float x1, float x2, uInt npoints=0) |
| Define a curve with an arbitrary function from x1 to x2. More...
|
|
| PixelCurve1D (const Vector< Int > &x, const Vector< Int > &y, uInt npoints=0) |
| Define a curve from a polyline with the given points. More...
|
|
| PixelCurve1D (const Vector< float > &x, const Vector< float > &y, uInt npoints=0) |
|
| PixelCurve1D (const Vector< double > &x, const Vector< double > &y, uInt npoints=0) |
|
| PixelCurve1D (const PixelCurve1D &that) |
|
| ~PixelCurve1D () |
|
PixelCurve1D & | operator= (const PixelCurve1D &that) |
|
uInt | npoints () const |
|
void | getPixelCoord (Vector< float > &x, Vector< float > &y, uInt start, uInt end, uInt incr=1) const |
| Get the pixel coordinates in the original lattice for point start till end with given step. More...
|
|
Arbitrary 1-dim curve in a lattice plane.
Intended use:
Public interface
Review Status
- Test programs:
- tPixelCurve1D
Prerequisite
Synopsis
PixelCurve1D represents a 1-dim curve in a lattice plane to be used by CurvedLattice2D. The curve can be any function supported in the Functionals module.
A special constructor exists to define a straight line.
Another special constructor exists for a polyline.
The domain for which the curve is valid is given by the interval [x1,x2]. The granularity of the domain is given by the number of points. The number of points also define the length of the new axis in the CurvedLattice2D object.
Example
Sinusoid1D<float> fn;
pcurve2.getPixelCoord (x, y, 0, 4);
cout << x << y << endl;
#define AlwaysAssertExit(expr)
PixelCurve1D(double x1=0, double y1=0, double x2=1, double y2=1, uInt npoints=0)
Define a straight line from (x1,y1) to (x2,y2).
The result of x is [0, 0.5, 1, 1.5, 2]. The result of y is [1, -1, 1, -1, 1]
Motivation
The viewer must be able to show a crosscut through an image using an arbitrary curve.
To Do
-
Maybe it is better to make itsNpoints part of CurvedLattice
-
If itsNpoint is still part of this class, it is possible to precompute all possible Y values in the constructors. This may speed things up for the polyline case.
Definition at line 96 of file PixelCurve1D.h.