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

#pragma once

#include "glmCoreAPI.h"
#include "glmMathBase.h"	//for GLM_EPSILON

namespace glm
{
	class Vector3;
	class Segment3;
	class FastBoundingBox;
	struct CenteredSegment;

	/*
	* Does this work ???
	*/
	bool GLM_CORE_API intersectRayAABox(const Vector3& rO, const Vector3& rV, const Vector3& min, const Vector3& max, float& tnear, float& tfar, float precision = GLM_EPSILON);

	bool GLM_CORE_API intersectSegmentBox(const Segment3& seg, const FastBoundingBox& box, float precision = GLM_EPSILON);

	bool GLM_CORE_API intersectSegmentBox(const CenteredSegment& seg, const FastBoundingBox& box, float precision = GLM_EPSILON);
}
