MeshLib C Docs
Loading...
Searching...
No Matches
MRObjectLoad.h File Reference
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>

Go to the source code of this file.

Typedefs

typedef struct MR_expected_MR_LoadedObjectT_MR_ObjectMesh_std_string MR_expected_MR_LoadedObjectT_MR_ObjectMesh_std_string
typedef struct MR_expected_MR_ObjectDistanceMap_std_string MR_expected_MR_ObjectDistanceMap_std_string
typedef struct MR_expected_MR_ObjectGcode_std_string MR_expected_MR_ObjectGcode_std_string
typedef struct MR_expected_MR_ObjectLines_std_string MR_expected_MR_ObjectLines_std_string
typedef struct MR_expected_MR_ObjectPoints_std_string MR_expected_MR_ObjectPoints_std_string
typedef struct MR_std_function_void_from_const_std_filesystem_path_ref MR_std_function_void_from_const_std_filesystem_path_ref

Functions

MRC_API MR_expected_MR_LoadedObjectT_MR_ObjectMesh_std_stringMR_makeObjectMeshFromFile (const char *file, const char *file_end, const MR_std_function_bool_from_float *cb)
MRC_API MR_expected_MR_LoadedObjectT_std_stringMR_makeObjectFromMeshFile (const char *file, const char *file_end, const MR_std_function_bool_from_float *cb, const bool *returnOnlyMesh)
MRC_API MR_expected_MR_ObjectLines_std_stringMR_makeObjectLinesFromFile (const char *file, const char *file_end, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
MRC_API MR_expected_MR_ObjectPoints_std_stringMR_makeObjectPointsFromFile (const char *file, const char *file_end, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
MRC_API MR_expected_MR_ObjectDistanceMap_std_stringMR_makeObjectDistanceMapFromFile (const char *file, const char *file_end, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
MRC_API MR_expected_MR_ObjectGcode_std_stringMR_makeObjectGcodeFromFile (const char *file, const char *file_end, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
MRC_API MR_expected_MR_LoadedObjects_std_stringMR_loadObjectFromFile (const char *filename, const char *filename_end, const MR_std_function_bool_from_float *callback)
 load all objects (or any type: mesh, lines, points, voxels or scene) from file
MRC_API bool MR_isSupportedFileInSubfolders (const char *folder, const char *folder_end)
MRC_API MR_expected_MR_LoadedObjectT_std_stringMR_loadSceneFromAnySupportedFormat (const char *path, const char *path_end, const MR_std_function_bool_from_float *callback)
MRC_API MR_LoadedObjectTMR_makeObjectMesh (const char *objName, const char *objName_end, MR_PassBy data_pass_by, MR_LoadedMeshData *data)
MRC_API MR_expected_MR_LoadedObjectT_std_stringMR_deserializeObjectTree (const char *path, const char *path_end, const MR_std_function_void_from_const_std_filesystem_path_ref *postDecompress, const MR_std_function_bool_from_float *progressCb)
 loads objects tree from given scene file (zip/mru)
MRC_API MR_expected_MR_LoadedObjectT_std_stringMR_deserializeObjectTreeFromFolder (const char *folder, const char *folder_end, const MR_std_function_bool_from_float *progressCb)
 loads objects tree from given scene folder
MRC_API MR_std_vector_MR_IOFilterMR_getAllFilters (void)

Typedef Documentation

◆ MR_expected_MR_LoadedObjectT_MR_ObjectMesh_std_string

Stores either a MR::LoadedObjectT<MR::ObjectMesh> that represents success or a std::string that represents an error. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_expected_MR_ObjectDistanceMap_std_string

Stores either a MR::ObjectDistanceMap that represents success or a std::string that represents an error. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_expected_MR_ObjectGcode_std_string

Stores either a MR::ObjectGcode that represents success or a std::string that represents an error. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_expected_MR_ObjectLines_std_string

Stores either a MR::ObjectLines that represents success or a std::string that represents an error. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_expected_MR_ObjectPoints_std_string

Stores either a MR::ObjectPoints that represents success or a std::string that represents an error. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_std_function_void_from_const_std_filesystem_path_ref

Stores a functor of type: void(const std::filesystem::path &). Possibly stateful. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

Function Documentation

◆ MR_deserializeObjectTree()

MRC_API MR_expected_MR_LoadedObjectT_std_string * MR_deserializeObjectTree ( const char * path,
const char * path_end,
const MR_std_function_void_from_const_std_filesystem_path_ref * postDecompress,
const MR_std_function_bool_from_float * progressCb )

loads objects tree from given scene file (zip/mru)

format specification: children are saved under folder with name of their parent object all objects parameters are saved in one JSON file in the root folder

if postDecompress is set, it is called after decompression loading is controlled with Object::deserializeModel_ and Object::deserializeFields_ Generated from function MR::deserializeObjectTree. Parameter path is a UTF-8 encoded filesystem path. Parameter postDecompress is a single object. Parameter postDecompress has a default argument: {}, pass a null pointer to use it. Parameter progressCb is a single object. Parameter progressCb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_LoadedObjectT_std_string_Destroy() to free it when you're done using it.

◆ MR_deserializeObjectTreeFromFolder()

MRC_API MR_expected_MR_LoadedObjectT_std_string * MR_deserializeObjectTreeFromFolder ( const char * folder,
const char * folder_end,
const MR_std_function_bool_from_float * progressCb )

loads objects tree from given scene folder

format specification: children are saved under folder with name of their parent object all objects parameters are saved in one JSON file in the root folder

loading is controlled with Object::deserializeModel_ and Object::deserializeFields_ Generated from function MR::deserializeObjectTreeFromFolder. Parameter folder is a UTF-8 encoded filesystem path. Parameter progressCb is a single object. Parameter progressCb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_LoadedObjectT_std_string_Destroy() to free it when you're done using it.

◆ MR_getAllFilters()

MRC_API MR_std_vector_MR_IOFilter * MR_getAllFilters ( void )

returns filters for all supported file formats for all types of objects Generated from function MR::getAllFilters. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_IOFilter_Destroy() to free it when you're done using it.

◆ MR_isSupportedFileInSubfolders()

MRC_API bool MR_isSupportedFileInSubfolders ( const char * folder,
const char * folder_end )

checks if there are any supported files folder and subfolders Generated from function MR::isSupportedFileInSubfolders. Parameter folder is a UTF-8 encoded filesystem path.

◆ MR_loadObjectFromFile()

MRC_API MR_expected_MR_LoadedObjects_std_string * MR_loadObjectFromFile ( const char * filename,
const char * filename_end,
const MR_std_function_bool_from_float * callback )

load all objects (or any type: mesh, lines, points, voxels or scene) from file

Parameters
callback- callback function to set progress (for progress bar) Generated from function MR::loadObjectFromFile. Parameter filename is a UTF-8 encoded filesystem path. Parameter callback is a single object. Parameter callback has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_LoadedObjects_std_string_Destroy() to free it when you're done using it.

◆ MR_loadSceneFromAnySupportedFormat()

MRC_API MR_expected_MR_LoadedObjectT_std_string * MR_loadSceneFromAnySupportedFormat ( const char * path,
const char * path_end,
const MR_std_function_bool_from_float * callback )

tries to load scene from every format listed in SceneFormatFilters Generated from function MR::loadSceneFromAnySupportedFormat. Parameter path is a UTF-8 encoded filesystem path. Parameter callback is a single object. Parameter callback has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_LoadedObjectT_std_string_Destroy() to free it when you're done using it.

◆ MR_makeObjectDistanceMapFromFile()

MRC_API MR_expected_MR_ObjectDistanceMap_std_string * MR_makeObjectDistanceMapFromFile ( const char * file,
const char * file_end,
MR_PassBy callback_pass_by,
MR_std_function_bool_from_float * callback )

loads distance map from given file in new object Generated from function MR::makeObjectDistanceMapFromFile. Parameter file is a UTF-8 encoded filesystem path. Parameter callback has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_ObjectDistanceMap_std_string_Destroy() to free it when you're done using it.

◆ MR_makeObjectFromMeshFile()

MRC_API MR_expected_MR_LoadedObjectT_std_string * MR_makeObjectFromMeshFile ( const char * file,
const char * file_end,
const MR_std_function_bool_from_float * cb,
const bool * returnOnlyMesh )

loads data from given file and makes either ObjectMesh, ObjectLines or ObjectPoints (if the file has points or edges but not faces) Generated from function MR::makeObjectFromMeshFile. Parameter file is a UTF-8 encoded filesystem path. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Parameter returnOnlyMesh has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_LoadedObjectT_std_string_Destroy() to free it when you're done using it.

◆ MR_makeObjectGcodeFromFile()

MRC_API MR_expected_MR_ObjectGcode_std_string * MR_makeObjectGcodeFromFile ( const char * file,
const char * file_end,
MR_PassBy callback_pass_by,
MR_std_function_bool_from_float * callback )

loads gcode from given file in new object Generated from function MR::makeObjectGcodeFromFile. Parameter file is a UTF-8 encoded filesystem path. Parameter callback has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_ObjectGcode_std_string_Destroy() to free it when you're done using it.

◆ MR_makeObjectLinesFromFile()

MRC_API MR_expected_MR_ObjectLines_std_string * MR_makeObjectLinesFromFile ( const char * file,
const char * file_end,
MR_PassBy callback_pass_by,
MR_std_function_bool_from_float * callback )

loads lines from given file in new object Generated from function MR::makeObjectLinesFromFile. Parameter file is a UTF-8 encoded filesystem path. Parameter callback has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_ObjectLines_std_string_Destroy() to free it when you're done using it.

◆ MR_makeObjectMesh()

MRC_API MR_LoadedObjectT * MR_makeObjectMesh ( const char * objName,
const char * objName_end,
MR_PassBy data_pass_by,
MR_LoadedMeshData * data )

constructs new ObjectMesh from the given data Generated from function MR::makeObjectMesh. Parameter objName can not be null. If objName_end is null, then objName is assumed to be null-terminated. Never returns null. Returns an instance allocated on the heap! Must call MR_LoadedObjectT_Destroy() to free it when you're done using it.

◆ MR_makeObjectMeshFromFile()

MRC_API MR_expected_MR_LoadedObjectT_MR_ObjectMesh_std_string * MR_makeObjectMeshFromFile ( const char * file,
const char * file_end,
const MR_std_function_bool_from_float * cb )

loads mesh from given file in new object Generated from function MR::makeObjectMeshFromFile. Parameter file is a UTF-8 encoded filesystem path. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_LoadedObjectT_MR_ObjectMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_makeObjectPointsFromFile()

MRC_API MR_expected_MR_ObjectPoints_std_string * MR_makeObjectPointsFromFile ( const char * file,
const char * file_end,
MR_PassBy callback_pass_by,
MR_std_function_bool_from_float * callback )

loads points from given file in new object Generated from function MR::makeObjectPointsFromFile. Parameter file is a UTF-8 encoded filesystem path. Parameter callback has a default argument: {}, pass MR_PassBy_DefaultArgument and a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_ObjectPoints_std_string_Destroy() to free it when you're done using it.