Fovia's C++ Client/Server API
|
Public Member Functions | |
virtual signed int | AskInterface (const BGUID *piid, IRoot **ppr)=0 |
virtual signed int | Bspline (double &ret, double prev, double start, double finish, double next, double delta)=0 |
virtual signed int | CatmullRom3DDistance (double &ret, VECTOR3D prev, VECTOR3D start, VECTOR3D finish, VECTOR3D next, signed int numSteps)=0 |
virtual signed int | Catrom (double &ret, double prev, double start, double finish, double next, double delta)=0 |
virtual signed int | Catrom (signed long long &ret, signed long long prev, signed long long start, signed long long finish, signed long long next, double delta)=0 |
virtual signed int | Catrom (float &ret, float prev, float start, float finish, float next, double delta)=0 |
virtual signed int | Catrom (VECTOR3D &ret, VECTOR3D prev, VECTOR3D start, VECTOR3D finish, VECTOR3D next, double delta)=0 |
virtual signed int | CatromConstantVelocity (VECTOR3D &ret, VECTOR3D prev, VECTOR3D start, VECTOR3D finish, VECTOR3D next, double delta)=0 |
virtual signed int | DecRef ()=0 |
virtual signed int | EaseIn (double &ret, double delta, double power)=0 |
virtual signed int | EaseOut (double &ret, double delta, double power)=0 |
virtual signed int | IncRef ()=0 |
virtual signed int | Interpolate (RENDER_PARAMS &ret, RENDER_PARAMS &prev, RENDER_PARAMS &start, RENDER_PARAMS &finish, RENDER_PARAMS &next, double delta, signed int bCurved)=0 |
virtual signed int | Lerp (double &ret, double start, double finish, double delta)=0 |
virtual signed int | Lerp (double &ret, double prev, double start, double finish, double next, double delta)=0 |
virtual signed int | Lerp (VECTOR3D &ret, VECTOR3D start, VECTOR3D finish, double delta)=0 |
virtual signed int | Lerp (signed long long &ret, signed long long start, signed long long finish, double delta)=0 |
virtual signed int | Lerp (signed int &ret, signed int start, signed int finish, double delta)=0 |
virtual signed int | Lerp (float &ret, float start, float finish, double delta)=0 |
virtual signed int | Lerp (COLOR_RGBA &ret, COLOR_RGBA &start, COLOR_RGBA &finish, double delta)=0 |
virtual signed int | Lerp (CUT_PLANE_PARAMS &ret, CUT_PLANE_PARAMS &start, CUT_PLANE_PARAMS &finish, double delta)=0 |
virtual signed int | Lerp (RENDER_RANGE_PARAMS &ret, RENDER_RANGE_PARAMS &start, RENDER_RANGE_PARAMS &finish, double delta)=0 |
virtual signed int | LerpColor (signed int &ret, signed int start, signed int finish, double delta)=0 |
virtual signed int | LerpOpacity (signed int &ret, signed int start, signed int finish, double delta)=0 |
![]() | |
template<class T > | |
signed int | AskInterface (T **pp) |
Utility object for interpolating the various data types in the SDK. Use ILibrary::CreateObject() to create this object.
|
pure virtual |
Performs a B-Spline interpolation on data type double. Note that unlike Catmull-Rom, the interpolation points do NOT go through start and finish. Therefore, this is not suitable for interpolating a flythrough path through specific points.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then a point closer to start is returned. If delta is 1, then a point closer to finish is returned. |
|
pure virtual |
Approximates the distance of the line created by Catmull-Rom interpolation.
ret | The approximate distance traveled by the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
numSteps | The number of steps to use in the summation process. More steps will take longer, but produce a more precise rsult. |
|
pure virtual |
Performs a Catmull-Rom interpolation on data type double.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a Catmull-Rom interpolation on data type int.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a Catmull-Rom interpolation on data type float.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a Catmull-Rom interpolation on the members of VECTOR3D.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a constant velocity Catmull-Rom interpolation on the members of VECTOR3D.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.
Implements IRoot.
|
pure virtual |
Modifies an interpolation coefficient to slow down to a stop at the end of the interpolation.
ret | The new interpolation coefficient. |
delta | The initial interpolation coefficient |
power | The exponent to use when calculating the curve for stopping. This should be a number greater than 1. |
|
pure virtual |
Modifies an interpolation coefficient to accelerate from a stop at the start of the interpolation.
ret | The new interpolation coefficient. |
delta | The initial interpolation coefficient |
power | The exponent to use when calculating the curve for accelerating. This should be a number greater than 1. |
|
pure virtual |
Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.
Implements IRoot.
|
pure virtual |
Interpolates between the specified RENDER_PARAMS with either curved interpolation or linear interpolation depending upon the value of bCurved.
ret | The result of the interpolation. |
prev | The point before the start point of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
next | The point after the finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
bCurved | Determines how RENDER_PARAMS::Transform is interpolated. If true, orientation vectors are interpolated using spherical quadrangle interpolation and the offset vector is interpolated using a constant velocity Catmull-Rom interpolation. If false, orientation vectors are interpolated using spherical linear interpolation and offset vectors are interpolated using linear interpolation. All other parameters are interpolated using linear interpolation. |
|
pure virtual |
Performs a linear interpolation on the data type double.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Utility overload that is functionally identical to #Lerp(h_float64&,h_float64,h_float64,h_float64). prev and next are ignored.
|
pure virtual |
Performs a linear interpolation on the members of the VECTOR3D data type.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on the data type h_int64.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on the data type int.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on the data type float.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on the members of the COLOR_RGBA data type.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on the members of the data type CUT_PLANE_PARAMS.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on the members of the data type RENDER_RANGE_PARAMS.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on a color member in a COLORED_POINT.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |
|
pure virtual |
Performs a linear interpolation on an opacity member in a COLORED_POINT.
ret | The result of the interpolation. |
start | The start point of the interpolation. |
finish | The finish point of the interpolation. |
delta | The interpolation coefficient. If delta is 0, then start is returned. If delta is 1, then finish is returned. |