/***************************************************************************
*                                                                          *
*  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
*                                                                          *
***************************************************************************/

#pragma once

#include "glmMathBase.h"
#include "glmArray.h"

namespace glm
{
	class Vector2;
	class ConvexPolygon2;
	class Circle2;
	class Box2;
	class Triangle2;

	bool GLM_CORE_API containsInPolygon(const Vector2* container, size_t containerSize, const Vector2& content, float precision = GLM_NUMERICAL_PRECISION);
	bool GLM_CORE_API contains(const ConvexPolygon2& container, const Vector2& content, float precision = GLM_NUMERICAL_PRECISION);
	bool GLM_CORE_API contains(const Circle2& container, const Vector2& content, float precision = GLM_NUMERICAL_PRECISION);
	bool GLM_CORE_API contains(const Box2& container, const Vector2& content, float precision = GLM_NUMERICAL_PRECISION);
	bool GLM_CORE_API contains(const Triangle2& container, const Vector2& content, float precision = GLM_NUMERICAL_PRECISION);
	bool GLM_CORE_API contains(const glm::Array<Vector2>& container, const Vector2& content);	
}
