|
|
|
@ -295,9 +295,13 @@ namespace MWBase
|
|
|
|
|
/// relative to \a referenceObject (but the object may be placed somewhere else if the wanted location is
|
|
|
|
|
/// obstructed).
|
|
|
|
|
|
|
|
|
|
virtual void queueMovement(const MWWorld::Ptr& ptr, const osg::Vec3f& velocity, float duration) = 0;
|
|
|
|
|
virtual void queueMovement(
|
|
|
|
|
const MWWorld::Ptr& ptr, const osg::Vec3f& velocity, float duration, bool jump = false)
|
|
|
|
|
= 0;
|
|
|
|
|
///< Queues movement for \a ptr (in local space), to be applied in the next call to
|
|
|
|
|
/// doPhysics.
|
|
|
|
|
/// \param duration The duration this speed shall be held, starting at current simulation time
|
|
|
|
|
/// \param jump Whether the movement shall be run over time, or immediately added as inertia instead
|
|
|
|
|
|
|
|
|
|
virtual void updateAnimatedCollisionShape(const MWWorld::Ptr& ptr) = 0;
|
|
|
|
|
|
|
|
|
@ -567,7 +571,8 @@ namespace MWBase
|
|
|
|
|
virtual DetourNavigator::Navigator* getNavigator() const = 0;
|
|
|
|
|
|
|
|
|
|
virtual void updateActorPath(const MWWorld::ConstPtr& actor, const std::deque<osg::Vec3f>& path,
|
|
|
|
|
const DetourNavigator::AgentBounds& agentBounds, const osg::Vec3f& start, const osg::Vec3f& end) const = 0;
|
|
|
|
|
const DetourNavigator::AgentBounds& agentBounds, const osg::Vec3f& start, const osg::Vec3f& end) const
|
|
|
|
|
= 0;
|
|
|
|
|
|
|
|
|
|
virtual void removeActorPath(const MWWorld::ConstPtr& actor) const = 0;
|
|
|
|
|
|
|
|
|
@ -576,10 +581,12 @@ namespace MWBase
|
|
|
|
|
virtual DetourNavigator::AgentBounds getPathfindingAgentBounds(const MWWorld::ConstPtr& actor) const = 0;
|
|
|
|
|
|
|
|
|
|
virtual bool hasCollisionWithDoor(
|
|
|
|
|
const MWWorld::ConstPtr& door, const osg::Vec3f& position, const osg::Vec3f& destination) const = 0;
|
|
|
|
|
const MWWorld::ConstPtr& door, const osg::Vec3f& position, const osg::Vec3f& destination) const
|
|
|
|
|
= 0;
|
|
|
|
|
|
|
|
|
|
virtual bool isAreaOccupiedByOtherActor(const osg::Vec3f& position, const float radius,
|
|
|
|
|
std::span<const MWWorld::ConstPtr> ignore, std::vector<MWWorld::Ptr>* occupyingActors = nullptr) const = 0;
|
|
|
|
|
std::span<const MWWorld::ConstPtr> ignore, std::vector<MWWorld::Ptr>* occupyingActors = nullptr) const
|
|
|
|
|
= 0;
|
|
|
|
|
|
|
|
|
|
virtual void reportStats(unsigned int frameNumber, osg::Stats& stats) const = 0;
|
|
|
|
|
|
|
|
|
|