#include <Intp.h>
Inherits Base.
Inherited by Cube, Nurb, and Poly.
Inheritance diagram for Intp:

Public Types | |
| enum | CTYPE { CUBIC = 0, NURBS, POLYNOMIAL, CTYPE_CNT } |
| CTYPE_CNT | |
| CUBIC = 0 | |
| DEPENDENT | |
| DERIVATIVE | |
| INDEPENDENT = 0 | |
| KNOT | |
| NURBS | |
| ORDER | |
| POLYGON | |
| POLYNOMIAL | |
| enum | VTYPE { INDEPENDENT = 0, KNOT, DEPENDENT, DERIVATIVE, POLYGON, ORDER, VTYPE_CNT } |
| VTYPE_CNT | |
Public Member Functions | |
| virtual xType * | copyArrayX (enum Intp< xType, yType >::VTYPE vType, xType *array) const |
| virtual yType * | copyArrayY (enum Intp< xType, yType >::VTYPE vType, yType *array) const |
| virtual yType | eval (xType x)=0 throw (IntpErr) |
| virtual const xType * | getArrayX (enum Intp< xType, yType >::VTYPE vType) const |
| virtual const yType * | getArrayY (enum Intp< xType, yType >::VTYPE vType) const |
| virtual int | getCount (enum Intp< xType, yType >::VTYPE vType) const |
| enum Intp< xType, yType >::CTYPE | getMethod (void) const |
| bool | isBounded (xType x) const |
| bool | isIncreasing (void) const |
| virtual bool | update (void) |
| bool | update (const xType *arX, const yType *arY) |
Static Public Attributes | |
| static const int | DEF_POINTS = 4 |
Protected Member Functions | |
| Intp (const Intp< xType, yType > &in) | |
| Intp (const xType *arX, const yType *arY, int nCount, int nPoints) | |
| ~Intp (void) | |
Protected Attributes | |
| xType * | aX |
| yType * | aY |
| bool | bInc |
| enum Intp< xType, yType >::CTYPE | cTyp |
| int | mData |
| int | nData |
| int | nPts |
Object instantiation of this class should be made only through classes which inherit this class.
The declaration typename <xType> specifies the form of independent variables used in interpolation calculations. The declaration typename <yType> specifies the form of solution variables used in interpolation calculations. In general, the <yType> variables should be the equal or superset of the <xType> variables.
See the cited References to obtain more information on the mathematical theory applied here.
| enum CTYPE |
Enumeration indicates the class index of the interpolation method used.
| CUBIC | index of a calc::Cube object implementing cubic splines |
| NURBS | index of a calc::Nurb object implementing non-uniform rational Bezier splines |
| POLYNOMIAL | index of a calc::Poly object implementing polynomial curve-fits |
| CTYPE_CNT | class type index count |
| enum VTYPE |
Enumeration indicates the variable index and unit type consistent with the interpolation method used.
| INDEPENDENT | index of an independent variable (x units) <xType> |
| KNOT | index of a knot vector variable implemented in a calc::Nurb object (scaled x units) <xType> |
| DEPENDENT | index of a dependent variable (y units) <yType> |
| DERIVATIVE | index of a second derivative variable implemented in a calc::Cube object (y/x2 units) <yType> |
| POLYGON | index of a control polygon variable implemented in a calc::Nurb object (y units) <yType> |
| ORDER | index of a polynomial control point count (order + 1) variable |
| VTYPE_CNT | variable type index count |
| Intp | ( | const xType * | arX, | |
| const yType * | arY, | |||
| int | nCount, | |||
| int | nPoints | |||
| ) | [protected] |
Function initializes an interpolation object.
| arX | a pointer to an independent value interpolation array (x units) | |
| arY | a pointer to a dependent value interpolation array (y units) | |
| nCount | data count for the specified arrays arX and arY | |
| nPoints | data point count of polynomials used in interpolation evaluations |
Copy constructor initializes an interpolation object from the specified existing interpolation object.
| in | a reference to an interpolation object |
| ~Intp | ( | void | ) | [protected] |
Destructor frees allocated memory.
Virtual function copies values contained in an identified object independent array to the specified pointer.
| vType | variable index indentifying the type of data | |
| array | a pointer to a copy of the object's independent data array (varying units) |
Virtual function copies values contained in an identified object dependent array to the specified pointer.
| vType | variable index indentifying the type of data | |
| array | a pointer to a copy of the object's dependent data array (varying units) |
| virtual yType eval | ( | xType | x | ) | throw (IntpErr) [pure virtual] |
Virtual function interpolates the dependent data at the specified independent data value.
| x | an independent value interpolation point (x units) |
| IntpErr | type of object thrown
|
Virtual function returns the pointer of the identified object independent array.
| vType | variable index indentifying the independent array type |
Virtual function returns the pointer of the identified object dependent array.
| vType | variable index indentifying the dependent array type |
Virtual function determines the number of values contained in the object's identified array.
| vType | variable index indentifying the type of data |
Function returns an enumeration index indicating the calculation method used in the interpolation evaluation.
| bool isBounded | ( | xType | x | ) | const |
Function determines if the specified independent value x is within the interpolation table's interpolation limits.
| x | an independent value to interpolate (x units) |
| bool isIncreasing | ( | void | ) | const |
Function returns the ascending status of the independent data.
| virtual bool update | ( | void | ) | [virtual] |
| bool update | ( | const xType * | arX, | |
| const yType * | arY | |||
| ) |
Overloaded function updates values of the interpolation object's independent and dependent data arrays.
| arX | a pointer to an independent value interpolation array (x units) | |
| arY | a pointer to a dependent value interpolation array (y units) |
xType* aX [protected] |
pointer to an independent interpolation array (x units)
yType* aY [protected] |
pointer to a dependent interpolation array (y units)
bool bInc [protected] |
independent data increasing parameter
const int DEF_POINTS = 4 [static] |
int mData [protected] |
data table count minus one
int nData [protected] |
data table count
int nPts [protected] |
data point count used in the interpolation polynomials
1.4.7