MeshLib
 
Loading...
Searching...
No Matches
MRIOFormatsRegistry.h File Reference
#include "MRMeshFwd.h"
#include "MRExpected.h"
#include "MRIOFilters.h"
#include "MRMeshLoadSettings.h"
#include "MRProgressCallback.h"
#include <filesystem>

Go to the source code of this file.

Classes

struct  MR::MeshLoad::NamedMeshLoader
 
class  MR::MeshLoad::MeshLoaderAdder
 

Namespaces

namespace  MR
 
namespace  MR::MeshLoad
 
namespace  MR::ObjectLoad
 
namespace  MR::AsyncObjectLoad
 

Macros

#define MR_ADD_MESH_LOADER(filter, loader)   MR::MeshLoad::MeshLoaderAdder __meshLoaderAdder_##loader(MR::MeshLoad::NamedMeshLoader{filter,static_cast<MR::MeshLoad::MeshLoader>(loader),static_cast<MR::MeshLoad::MeshStreamLoader>(loader)});\
 Register filter with loader function.
 

Typedefs

using MR::MeshLoad::MeshLoader = Expected<MR::Mesh>( * )( const std::filesystem::path&, const MeshLoadSettings& )
 
using MR::MeshLoad::MeshStreamLoader = Expected<MR::Mesh>( * )( std::istream&, const MeshLoadSettings& )
 
using MR::ObjectPtr = std::shared_ptr<Object>
 
using MR::ObjectLoad::ObjectLoader = Expected<std::vector<ObjectPtr>>( * )( const std::filesystem::path&, std::string*, ProgressCallback )
 
using MR::AsyncObjectLoad::PostLoadCallback = std::function<void ( Expected<std::vector<ObjectPtr>> )>
 
using MR::AsyncObjectLoad::AsyncObjectLoader = void( * )( const std::filesystem::path&, std::string*, PostLoadCallback, ProgressCallback )
 

Functions

MRMESH_API MeshLoader MR::MeshLoad::getMeshLoader (IOFilter filter)
 Finds expected loader from registry.
 
MRMESH_API MeshStreamLoader MR::MeshLoad::getMeshStreamLoader (IOFilter filter)
 Finds expected loader from registry.
 
MRMESH_API IOFilters MR::MeshLoad::getFilters ()
 Gets all registered filters.
 
MRMESH_API void MR::MeshLoad::setMeshLoader (IOFilter filter, MeshLoader loader)
 Add or override a loader in the registry.
 
MRMESH_API void MR::MeshLoad::setMeshStreamLoader (IOFilter filter, MeshStreamLoader streamLoader)
 Add or override a loader in the registry.
 
MRMESH_API ObjectLoader MR::ObjectLoad::getObjectLoader (IOFilter filter)
 Find an appropriate loader from the registry.
 
MRMESH_API void MR::ObjectLoad::setObjectLoader (IOFilter filter, ObjectLoader loader)
 Add or override a loader in the registry.
 
MRMESH_API IOFilters MR::ObjectLoad::getFilters ()
 Get all registered filters.
 
MRMESH_API AsyncObjectLoader MR::AsyncObjectLoad::getObjectLoader (IOFilter filter)
 Find an appropriate loader from the registry.
 
MRMESH_API void MR::AsyncObjectLoad::setObjectLoader (IOFilter filter, AsyncObjectLoader loader)
 Add or override a loader in the registry.
 
MRMESH_API IOFilters MR::AsyncObjectLoad::getFilters ()
 Get all registered filters.