Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef AI_ROUTEDIST_H
#define AI_ROUTEDIST_H
#include "ai_navtype.h"
#if defined( _WIN32 )
#pragma once
#endif
// ----------------------------------------------------------------------------
// Computes the route distance + route direction based on nav type
// FIXME: Where should this go?
// ----------------------------------------------------------------------------
inline float ComputePathDistance( Navigation_t navType, const Vector &start, const Vector &end ) { if (navType == NAV_GROUND) { return (end - start).Length2D(); } else { return (end - start).Length(); } }
inline void ComputePathVector( Navigation_t navType, const Vector &start, const Vector &end, Vector *pDelta ) { if (navType == NAV_GROUND) { Vector2DSubtract( end.AsVector2D(), start.AsVector2D(), pDelta->AsVector2D() ); pDelta->z = 0.0f; } else { VectorSubtract( end, start, *pDelta ); } }
inline float ComputePathDirection( Navigation_t navType, const Vector &start, const Vector &end, Vector *pDirection ) { if (navType == NAV_GROUND || navType == NAV_CRAWL) { VectorSubtract( end, start, *pDirection ); pDirection->z = 0.0f; return Vector2DNormalize( pDirection->AsVector2D() ); } else { VectorSubtract( end, start, *pDirection ); return VectorNormalize( *pDirection ); } }
#endif // AI_ROUTEDIST_H
|