3#include <Foundation/Basics.h>
4#include <Foundation/Math/Vec3.h>
6namespace plIntersectionUtils
31 PL_FOUNDATION_DLL
bool RayPolygonIntersection(
const plVec3& vRayStartPos,
const plVec3& vRayDir,
const plVec3* pPolygonVertices,
32 plUInt32 uiNumVertices,
float* out_pIntersectionTime =
nullptr,
plVec3* out_pIntersectionPoint =
nullptr,
33 plUInt32 uiVertexStride =
sizeof(
plVec3));
38 PL_FOUNDATION_DLL
plVec3 ClosestPoint_PointLineSegment(
const plVec3& vStartPoint,
const plVec3& vLineSegmentPos0,
const plVec3& vLineSegmentPos1,
39 float* out_pFractionAlongSegment =
nullptr);
42 PL_FOUNDATION_DLL
bool Ray2DLine2D(
const plVec2& vRayStartPos,
const plVec2& vRayDir,
const plVec2& vLineSegmentPos0,
43 const plVec2& vLineSegmentPos1,
float* out_pIntersectionTime =
nullptr,
plVec2* out_pIntersectionPoint =
nullptr);
46 PL_FOUNDATION_DLL
bool IsPointOnLine(
const plVec3& vLineStart,
const plVec3& vLineEnd,
const plVec3& vPoint,
float fMaxDist = 0.01f);