struct PathFollowResult { struct SPredictedState { Vec3 pos; Vec3 vel; }; float desiredPredictionTime; float predictionDeltaTime; TPredictedStates * predictedStates; bool reachedEnd; Vec3 velocityOut; Vec3 followTargetPos; Vec3 inflectionPoint; };
IPathfinder.h
IPathfinder.h
Vec3 pos;
Vec3 vel;
SPredictedState();
SPredictedState(const Vec3 & p, const Vec3 & v);
float desiredPredictionTime;
maximum time to predict out to - actual prediction may not go this far
Vec3 followTargetPos;
If the turningPoint and inflectionPoint are equal, they represent the end of the path. The furthest point on the path we can move directly towards without colliding with anything
Vec3 inflectionPoint;
The next point on the path beyond the follow target that deviates substantially from a straight-line path
TPredictedStates * predictedStates;
if this is non-zero then on output the prediction will be placed into it
float predictionDeltaTime;
the first element in predictedStates will be now + predictionDeltaTime, etc
bool reachedEnd;
Vec3 velocityOut;
PathFollowResult();
typedef DynArray<SPredictedState> TPredictedStates;