Plasma Engine  2.0
Loading...
Searching...
No Matches
Steering.h
1#pragma once
2
3#include <AiPlugin/Navigation/Navigation.h>
4#include <Foundation/Math/Angle.h>
5#include <Foundation/Math/Quat.h>
6#include <Foundation/Math/Vec3.h>
7
11struct PL_AIPLUGIN_DLL plAiSteering
12{
13 plVec3 m_vPosition = plVec3::MakeZero();
14 plQuat m_qRotation = plQuat::MakeIdentity();
15 plVec3 m_vVelocity = plVec3::MakeZero();
16 float m_fMaxSpeed = 6.0f;
17 float m_fAcceleration = 5.0f;
18 float m_fDecceleration = 10.0f;
19 plAngle m_MinTurnSpeed = plAngle::MakeFromDegree(180);
20
21 plAiSteeringInfo m_Info;
22
23 void Calculate(float fTimeDiff, plDebugRendererContext ctxt);
24};
Float wrapper struct for a safe usage and conversions of angles.
Definition Angle.h:10
static constexpr plAngle MakeFromDegree(float fDegree)
Creates an instance of plAngle that was initialized from degree. (Performs a conversion)
Definition Angle_inl.h:33
Used in plDebugRenderer to determine where debug geometry should be rendered.
Definition DebugRendererContext.h:11
static const plQuatTemplate< float > MakeIdentity()
Definition Quat_inl.h:29
static plVec3Template< float > MakeZero()
Definition Vec3.h:38
Definition Steering.h:12
Aggregated data by plAiNavigation that should be sufficient to implement a steering behavior.
Definition Navigation.h:13