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

#pragma once

#include "glmSDKAPI.h"
#include "glmAbstractLoadGeometryFunctor.h"

//stl includes
#include "glmString.h"

namespace glm
{
	/**
	* \brief This class handles loading geometries from Path raw files.
	*
	* \ingroup Geometry
	*
	* \author Golaem <dev@golaem.com>
	*/
	class GLM_SDK_API LoadPathRawGeometryFunctor : public AbstractLoadGeometryFunctor
	{
	public:
		/**
		* \brief Constructor.
		*/
		LoadPathRawGeometryFunctor();

		/**
		* \brief Virtual destructor
		*/
		virtual ~LoadPathRawGeometryFunctor();

		/**
		* \see AbstractLoadGeometryFunctor::operator()
		*/
        glm::Array<Geometry3*>* operator()(const glm::GlmString& filePath) override;
    };
}
