
#ifndef __WFX_SCENE_GEOMETRYLOADER_H__
#define __WFX_SCENE_GEOMETRYLOADER_H__

#include <WFX/WFXIncludes.h>
#include <WFX/scene/Node.h>

namespace WFX {

    namespace scene {

        /**
         * Abstract geometry loader class
         */
        class GeometryLoader {
            public:

                /**
                 * static method that wraps loadFromFile
                 */
                static Node* load(const WFX::io::File& f, bool r = false);


                /**
                 * tries to parse the given File and returns a Node*
                 * Implementations must implement this method
                 */
                virtual Node* loadFromFile(const WFX::io::File& f, bool r = false) = 0;

            protected:
            
            private:

        };

    }

}


#endif //include guard


