56 lines
2.5 KiB
Ucode
56 lines
2.5 KiB
Ucode
//=============================================================================
|
|
// Spline: A simple Hermite Spline for interpolation with position and
|
|
// velocity continuity.
|
|
//=============================================================================
|
|
|
|
class Spline extends Object
|
|
native;
|
|
|
|
const mMaxTimes=5;
|
|
|
|
var vector SplineA, SplineB, SplineC, SplineD;
|
|
var rotator SplineE, SplineF, SplineG, SplineH;
|
|
var float mStartT, mEndT;
|
|
var bool mbInit;
|
|
var float mTime;
|
|
var float maDeltaTimes[mMaxTimes];
|
|
var int mIndex;
|
|
var float mTotalTime;
|
|
var bool mbRotatorSpline;
|
|
var int mCnt;
|
|
|
|
native final simulated function bool InitSplinePath(float t0,
|
|
vector d0,
|
|
vector v0,
|
|
float t1,
|
|
vector d1,
|
|
vector v1);
|
|
|
|
native final simulated function bool InitSplineRot( float t0,
|
|
rotator d0,
|
|
rotator v0,
|
|
float t1,
|
|
rotator d1,
|
|
rotator v1);
|
|
|
|
native final simulated function bool NextSplinePos( float dt,
|
|
out vector d,
|
|
out vector v,
|
|
out vector a,
|
|
out float outdt,
|
|
optional bool bSmoothDt,
|
|
optional bool bAccumDeltas); // gam
|
|
|
|
native final simulated function bool NextSplineRot( float dt,
|
|
out rotator d,
|
|
out rotator v,
|
|
out rotator a,
|
|
out float outdt,
|
|
optional bool bSmoothDt,
|
|
optional bool bAccumDeltas); // gam
|
|
|
|
|
|
defaultproperties
|
|
{
|
|
}
|