mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-16 16:20:42 +02:00
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
// Copyright (C) 2007 Id Software, Inc.
|
|
//
|
|
|
|
#ifndef __NAVCALLBACK_AVOIDLOCATION_H__
|
|
#define __NAVCALLBACK_AVOIDLOCATION_H__
|
|
|
|
/*
|
|
===============================================================================
|
|
|
|
idNAVCallback_AvoidLocation
|
|
|
|
===============================================================================
|
|
*/
|
|
|
|
struct idNAVObstacle
|
|
{
|
|
idBounds absBounds; // absolute bounds of obstacle
|
|
mutable idBounds expAbsBounds; // expanded absolute bounds of obstacle
|
|
};
|
|
|
|
class idNAVCallback_AvoidLocation : public idNAVCallback
|
|
{
|
|
public:
|
|
idNAVCallback_AvoidLocation();
|
|
~idNAVCallback_AvoidLocation();
|
|
|
|
void SetAvoidLocation( const idVec3& start, const idVec3& avoidLocation );
|
|
void SetObstacles( const idNAV* aas, const idNAVObstacle* obstacles, int numObstacles );
|
|
|
|
virtual bool PathValid( const idNAV* aas, const idVec3& start, const idVec3& end );
|
|
virtual int AdditionalTravelTimeForPath( const idNAV* aas, const idVec3& start, const idVec3& end );
|
|
virtual bool AreaIsGoal( const idNAV* aas, int areaNum ) = 0;
|
|
|
|
private:
|
|
idVec3 avoidLocation;
|
|
float avoidDist;
|
|
const idNAVObstacle* obstacles;
|
|
int numObstacles;
|
|
};
|
|
|
|
#endif /* !__NAVCALLBACK_AVOIDLOCATION_H__ */
|