ReGameDLL_CS/regamedll/dlls/plane.cpp

31 lines
517 B
C++
Raw Normal View History

#include "precompiled.h"
CPlane::CPlane()
{
m_fInitialized = FALSE;
}
2015-08-20 13:35:01 +03:00
NOXREF void CPlane::InitializePlane(const Vector &vecNormal, const Vector &vecPoint)
{
2015-06-30 12:46:07 +03:00
m_vecNormal = vecNormal;
m_fInitialized = TRUE;
2015-08-20 13:35:01 +03:00
m_flDist = DotProduct(m_vecNormal, vecPoint);
}
2015-08-20 13:35:01 +03:00
NOXREF BOOL CPlane::PointInFront(const Vector &vecPoint)
{
2015-06-30 12:46:07 +03:00
if (!m_fInitialized)
2015-08-20 13:35:01 +03:00
{
2015-06-30 12:46:07 +03:00
return FALSE;
2015-08-20 13:35:01 +03:00
}
2015-06-30 12:46:07 +03:00
float flFace = DotProduct(m_vecNormal, vecPoint) - m_flDist;
if (flFace >= 0.0f)
2015-08-20 13:35:01 +03:00
{
2015-06-30 12:46:07 +03:00
return TRUE;
2015-08-20 13:35:01 +03:00
}
2015-06-30 12:46:07 +03:00
return FALSE;
}