IPathFollower

Class Hierarchy
C++
class IPathFollower;
File

IPathfinder.h

IPathFollower::~IPathFollower Destructor
C++
virtual ~IPathFollower();
IPathFollower::Advance Method
C++
virtual void Advance(float distance) = 0;
Description

Advances the current state in terms of position - effectively pretending that the follower has gone further than it has.

IPathFollower::AttachToPath Method
C++
virtual void AttachToPath(INavPath * navPath) = 0;
Description

This attaches us to a particular path (pass 0 to detach)

IPathFollower::CheckWalkability Method
C++
virtual bool CheckWalkability(const Vec2* path, const size_t length) const = 0;
Description

Checks ability to walk along a piecewise linear path starting from the current position (useful for example when animation would like to deviate from the path)

IPathFollower::Draw Method
C++
virtual void Draw(const Vec3& drawOffset = ZERO) const = 0;
IPathFollower::GetAllowCuttingCorners Method
C++
virtual bool GetAllowCuttingCorners() const = 0;
Description

Can the pathfollower cut corners if there is space to do so? (default: true)

IPathFollower::GetDistToEnd Method
C++
virtual float GetDistToEnd(const Vec3 * pCurPos) const = 0;
Description

Returns the distance from the lookahead to the end, plus the distance from the position passed in to the LA if pCurPos != 0

IPathFollower::GetDistToNavType Method
C++
virtual float GetDistToNavType(IAISystem::ENavigationType navType) const = 0;
IPathFollower::GetDistToSmartObject Method
C++
virtual float GetDistToSmartObject() const = 0;
Description

Returns the distance along the path from the current look-ahead position to the first smart object path segment. If there's no path, or no smart objects on the path, then std::numeric_limits

IPathFollower::GetParams Method
C++
virtual const PathFollowerParams & GetParams() const = 0;
Description

Just view the params

IPathFollower::GetPathPointAhead Method
C++
virtual Vec3 GetPathPointAhead(float dist, float & actualDist) const = 0;
Description

Returns a point on the path some distance ahead. actualDist is set according to how far we looked - may be less than dist if we'd reach the end

IPathFollower::Release Method
C++
virtual void Release() = 0;
IPathFollower::Reset Method
C++
virtual void Reset() = 0;
IPathFollower::Serialize Method
C++
virtual void Serialize(TSerialize ser) = 0;
IPathFollower::SetAllowCuttingCorners Method
C++
virtual void SetAllowCuttingCorners(const bool allowCuttingCorners) = 0;
Description

Sets whether or not the pathfollower is allowed to cut corners if there is space to do so. (default: true)

IPathFollower::SetParams Method
C++
virtual void SetParams(const PathFollowerParams & params) = 0;
IPathFollower::Update Method
C++
virtual bool Update(PathFollowResult & result, const Vec3 & curPos, const Vec3 & curVel, float dt) = 0;
Description

Advances the follow target along the path as far as possible while ensuring the follow target remains reachable. Returns true if the follow target is reachable, false otherwise.