// /!\ Autogenerated file - do not modify

#define F3D_PLUGIN_IS_STATIC 1

#include "plugin.h"
#include "plugin_export.h"

#include <memory>

#include "reader_3DS.h"
#include "reader_CityGML.h"
#include "reader_DICOM.h"
#include "reader_GLTF.h"
#include "reader_GLB.h"
#include "reader_MetaImage.h"
#include "reader_Nrrd.h"
#include "reader_OBJ.h"
#include "reader_PTS.h"
#include "reader_STL.h"
#include "reader_TIFF.h"
#include "reader_PNG.h"
#include "reader_JPEG.h"
#include "reader_BMP.h"
#include "reader_TGA.h"
#include "reader_HDR.h"
#include "reader_EXR.h"
#include "reader_VRMLReader.h"
#include "reader_VTKLegacy.h"
#include "reader_VTKXMLVTU.h"
#include "reader_VTKXMLVTP.h"
#include "reader_VTKXMLVTI.h"
#include "reader_VTKXMLVTR.h"
#include "reader_VTKXMLVTS.h"
#include "reader_VTKXMLVTM.h"
#include "reader_QuakeMDL.h"
#include "reader_SPZ.h"
#include "reader_Splat.h"
#include "reader_PLYReader.h"


static std::shared_ptr<f3d::plugin> gPlugin;

#if F3D_PLUGIN_IS_STATIC
f3d::plugin* init_plugin_static_native()
#else
extern "C" F3D_PLUGIN_EXPORT f3d::plugin* init_plugin()
#endif
{
  if (!gPlugin)
  {
    gPlugin = std::make_shared<f3d::plugin>(
      "native",
      "Native VTK I/O support",
      "1.0",
      std::vector<std::shared_ptr<f3d::reader>>{ std::make_shared<reader_3DS>(),std::make_shared<reader_CityGML>(),std::make_shared<reader_DICOM>(),std::make_shared<reader_GLTF>(),std::make_shared<reader_GLB>(),std::make_shared<reader_MetaImage>(),std::make_shared<reader_Nrrd>(),std::make_shared<reader_OBJ>(),std::make_shared<reader_PTS>(),std::make_shared<reader_STL>(),std::make_shared<reader_TIFF>(),std::make_shared<reader_PNG>(),std::make_shared<reader_JPEG>(),std::make_shared<reader_BMP>(),std::make_shared<reader_TGA>(),std::make_shared<reader_HDR>(),std::make_shared<reader_EXR>(),std::make_shared<reader_VRMLReader>(),std::make_shared<reader_VTKLegacy>(),std::make_shared<reader_VTKXMLVTU>(),std::make_shared<reader_VTKXMLVTP>(),std::make_shared<reader_VTKXMLVTI>(),std::make_shared<reader_VTKXMLVTR>(),std::make_shared<reader_VTKXMLVTS>(),std::make_shared<reader_VTKXMLVTM>(),std::make_shared<reader_QuakeMDL>(),std::make_shared<reader_SPZ>(),std::make_shared<reader_Splat>(),std::make_shared<reader_PLYReader>(), }
    );
  }

  return gPlugin.get();
}
