|
| 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).
|
|
| PixelCurve1D (const Function1D< float, float > &, float x1, float x2, uInt npoints=0) |
| Define a curve with an arbitrary function from x1 to x2.
|
|
| PixelCurve1D (const Vector< Int > &x, const Vector< Int > &y, uInt npoints=0) |
| Define a curve from a polyline with the given points.
|
|
| 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.
|
|
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
pcurve2.getPixelCoord (x, y, 0, 4);
cout << x << y << endl;
#define AlwaysAssertExit(expr)
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 94 of file PixelCurve1D.h.