2022-10-20 11:18:42 +00:00
|
|
|
#ifndef _CSTEERINGBEHAVIORS
|
|
|
|
#define _CSTEERINGBEHAVIORS
|
|
|
|
|
2022-10-28 21:42:35 +00:00
|
|
|
#include "types.h"
|
|
|
|
|
2022-10-20 11:18:42 +00:00
|
|
|
class CVector3f;
|
2022-10-28 21:42:35 +00:00
|
|
|
|
2022-10-20 11:18:42 +00:00
|
|
|
class CSteeringBehaviors {
|
|
|
|
public:
|
|
|
|
static bool ProjectLinearIntersection(const CVector3f& v0, float f1, const CVector3f& v1,
|
|
|
|
const CVector3f& v2, CVector3f& v3);
|
|
|
|
static bool ProjectLinearIntersection(const CVector3f& v0, float f1, const CVector3f& v1,
|
|
|
|
const CVector3f& v2, const CVector3f& v3, CVector3f& v4);
|
|
|
|
|
|
|
|
static bool ProjectOrbitalIntersection(const CVector3f& v0, float f1, float f2,
|
|
|
|
const CVector3f& v1, const CVector3f& v2,
|
|
|
|
const CVector3f& v3, CVector3f& v4);
|
|
|
|
static bool ProjectOrbitalIntersection(const CVector3f& v0, float f1, float f2,
|
|
|
|
const CVector3f& v1, const CVector3f& v2,
|
|
|
|
const CVector3f& v3, const CVector3f& v4, CVector3f& v5);
|
2022-10-28 21:42:35 +00:00
|
|
|
|
2024-10-15 05:47:46 +00:00
|
|
|
static CVector3f ProjectOrbitalPosition(const CVector3f& pos, const CVector3f& vel,
|
|
|
|
const CVector3f& orbitPoint, float dt, float preThinkDt);
|
|
|
|
|
2022-10-28 21:42:35 +00:00
|
|
|
private:
|
|
|
|
float x0_;
|
2022-10-20 11:18:42 +00:00
|
|
|
};
|
2022-10-28 21:42:35 +00:00
|
|
|
CHECK_SIZEOF(CSteeringBehaviors, 0x4)
|
2022-10-20 11:18:42 +00:00
|
|
|
|
|
|
|
#endif // _CSTEERINGBEHAVIORS
|