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

Go to the source code of this file.

Typedefs

typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_SaveSettings MR_SaveSettings
 
typedef struct MR_expected_void_std_string MR_expected_void_std_string
 
typedef struct MR_std_array_MR_Vector3f_3 MR_std_array_MR_Vector3f_3
 
typedef struct MR_std_ostream MR_std_ostream
 
typedef struct MR_MeshSave_BinaryStlSaver MR_MeshSave_BinaryStlSaver
 

Functions

MRC_API MR_expected_void_std_stringMR_MeshSave_toMrmesh_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toMrmesh_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toOff_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toOff_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toObj_4_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings, int firstVertId)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toObj_4_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings, int firstVertId)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toObj_3_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toObj_3_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toBinaryStl_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toBinaryStl_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_MeshSave_BinaryStlSaverMR_MeshSave_BinaryStlSaver_ConstructFromAnother (MR_PassBy _other_pass_by, MR_MeshSave_BinaryStlSaver *_other)
 
MRC_API const MR_MeshSave_BinaryStlSaverMR_MeshSave_BinaryStlSaver_OffsetPtr (const MR_MeshSave_BinaryStlSaver *ptr, ptrdiff_t i)
 
MRC_API MR_MeshSave_BinaryStlSaverMR_MeshSave_BinaryStlSaver_OffsetMutablePtr (MR_MeshSave_BinaryStlSaver *ptr, ptrdiff_t i)
 
MRC_API MR_MeshSave_BinaryStlSaverMR_MeshSave_BinaryStlSaver_Construct (MR_std_ostream *out, const MR_SaveSettings *settings, const unsigned int *expectedNumTris)
 
MRC_API void MR_MeshSave_BinaryStlSaver_Destroy (const MR_MeshSave_BinaryStlSaver *_this)
 Destroys a heap-allocated instance of MR_MeshSave_BinaryStlSaver. Does nothing if the pointer is null.
 
MRC_API void MR_MeshSave_BinaryStlSaver_DestroyArray (const MR_MeshSave_BinaryStlSaver *_this)
 Destroys a heap-allocated array of MR_MeshSave_BinaryStlSaver. Does nothing if the pointer is null.
 
MRC_API bool MR_MeshSave_BinaryStlSaver_writeTri (MR_MeshSave_BinaryStlSaver *_this, const MR_std_array_MR_Vector3f_3 *tri)
 
MRC_API bool MR_MeshSave_BinaryStlSaver_updateHeadCounter (MR_MeshSave_BinaryStlSaver *_this)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toAsciiStl_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toAsciiStl_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toPly_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toPly_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toModel3mf_std_filesystem_path (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toModel3mf_std_ostream (const MR_Mesh *mesh, MR_std_ostream *out, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_to3mf (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toAnySupportedFormat_3 (const MR_Mesh *mesh, const char *file, const char *file_end, const MR_SaveSettings *settings)
 
MRC_API MR_expected_void_std_stringMR_MeshSave_toAnySupportedFormat_4 (const MR_Mesh *mesh, const char *extension, const char *extension_end, MR_std_ostream *out, const MR_SaveSettings *settings)
 

Typedef Documentation

◆ MR_expected_void_std_string

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshSave_BinaryStlSaver

saver in binary .stl format that can write triangles one by one not knowing their number beforehand Generated from class MR::MeshSave::BinaryStlSaver. Supported MR_PassBy modes: MR_PassBy_Copy (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_SaveSettings

◆ MR_std_array_MR_Vector3f_3

typedef struct MR_std_array_MR_Vector3f_3 MR_std_array_MR_Vector3f_3

◆ MR_std_ostream

Function Documentation

◆ MR_MeshSave_BinaryStlSaver_Construct()

MRC_API MR_MeshSave_BinaryStlSaver * MR_MeshSave_BinaryStlSaver_Construct ( MR_std_ostream * out,
const MR_SaveSettings * settings,
const unsigned int * expectedNumTris )

writes STL header in the stream Generated from constructor MR::MeshSave::BinaryStlSaver::BinaryStlSaver. Parameter out can not be null. It is a single object. The reference to the parameter out might be preserved in the constructed object. Parameter settings is a single object. Parameter settings has a default argument: {}, pass a null pointer to use it. The reference to the parameter settings might be preserved in the constructed object. Parameter expectedNumTris has a default argument: 0, pass a null pointer to use it. The reference to the parameter expectedNumTris might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshSave_BinaryStlSaver_Destroy() to free it when you're done using it.

◆ MR_MeshSave_BinaryStlSaver_ConstructFromAnother()

MRC_API MR_MeshSave_BinaryStlSaver * MR_MeshSave_BinaryStlSaver_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_MeshSave_BinaryStlSaver * _other )

Generated from constructor MR::MeshSave::BinaryStlSaver::BinaryStlSaver. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshSave_BinaryStlSaver_Destroy() to free it when you're done using it.

◆ MR_MeshSave_BinaryStlSaver_Destroy()

MRC_API void MR_MeshSave_BinaryStlSaver_Destroy ( const MR_MeshSave_BinaryStlSaver * _this)

Destroys a heap-allocated instance of MR_MeshSave_BinaryStlSaver. Does nothing if the pointer is null.

◆ MR_MeshSave_BinaryStlSaver_DestroyArray()

MRC_API void MR_MeshSave_BinaryStlSaver_DestroyArray ( const MR_MeshSave_BinaryStlSaver * _this)

Destroys a heap-allocated array of MR_MeshSave_BinaryStlSaver. Does nothing if the pointer is null.

◆ MR_MeshSave_BinaryStlSaver_OffsetMutablePtr()

MRC_API MR_MeshSave_BinaryStlSaver * MR_MeshSave_BinaryStlSaver_OffsetMutablePtr ( MR_MeshSave_BinaryStlSaver * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_MeshSave_BinaryStlSaver_OffsetPtr()

MRC_API const MR_MeshSave_BinaryStlSaver * MR_MeshSave_BinaryStlSaver_OffsetPtr ( const MR_MeshSave_BinaryStlSaver * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_MeshSave_BinaryStlSaver_updateHeadCounter()

MRC_API bool MR_MeshSave_BinaryStlSaver_updateHeadCounter ( MR_MeshSave_BinaryStlSaver * _this)

if initially written the number of triangles do not match to the actual number of written triangles, updates the number in the header Generated from method MR::MeshSave::BinaryStlSaver::updateHeadCounter. Parameter _this can not be null. It is a single object.

◆ MR_MeshSave_BinaryStlSaver_writeTri()

MRC_API bool MR_MeshSave_BinaryStlSaver_writeTri ( MR_MeshSave_BinaryStlSaver * _this,
const MR_std_array_MR_Vector3f_3 * tri )

writes one more triangle in the stream Generated from method MR::MeshSave::BinaryStlSaver::writeTri. Parameter _this can not be null. It is a single object. Parameter tri can not be null. It is a single object.

◆ MR_MeshSave_to3mf()

MRC_API MR_expected_void_std_string * MR_MeshSave_to3mf ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in .3mf file Generated from function MR::MeshSave::to3mf. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toAnySupportedFormat_3()

MRC_API MR_expected_void_std_string * MR_MeshSave_toAnySupportedFormat_3 ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

detects the format from file extension and save mesh to it Generated from function MR::MeshSave::toAnySupportedFormat. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toAnySupportedFormat_4()

MRC_API MR_expected_void_std_string * MR_MeshSave_toAnySupportedFormat_4 ( const MR_Mesh * mesh,
const char * extension,
const char * extension_end,
MR_std_ostream * out,
const MR_SaveSettings * settings )

extension in *.ext format Generated from function MR::MeshSave::toAnySupportedFormat. Parameter mesh can not be null. It is a single object. Parameter extension can not be null. If extension_end is null, then extension is assumed to be null-terminated. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toAsciiStl_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toAsciiStl_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in textual .stl file; SaveSettings::onlyValidPoints = false is ignored Generated from function MR::MeshSave::toAsciiStl. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toAsciiStl_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toAsciiStl_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toAsciiStl. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toBinaryStl_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toBinaryStl_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in binary .stl file; SaveSettings::onlyValidPoints = false is ignored Generated from function MR::MeshSave::toBinaryStl. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toBinaryStl_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toBinaryStl_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toBinaryStl. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toModel3mf_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toModel3mf_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in 3mf .model file Generated from function MR::MeshSave::toModel3mf. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toModel3mf_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toModel3mf_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toModel3mf. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toMrmesh_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toMrmesh_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in internal file format; SaveSettings::onlyValidPoints = true is ignored Generated from function MR::MeshSave::toMrmesh. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toMrmesh_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toMrmesh_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toMrmesh. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toObj_3_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toObj_3_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toObj. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toObj_3_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toObj_3_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toObj. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toObj_4_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toObj_4_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings,
int firstVertId )

saves in .obj file

Parameters
firstVertIdis the index of first mesh vertex in the output file (if this object is not the first there) Generated from function MR::MeshSave::toObj. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toObj_4_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toObj_4_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings,
int firstVertId )

Generated from function MR::MeshSave::toObj. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toOff_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toOff_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in .off file Generated from function MR::MeshSave::toOff. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toOff_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toOff_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toOff. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toPly_std_filesystem_path()

MRC_API MR_expected_void_std_string * MR_MeshSave_toPly_std_filesystem_path ( const MR_Mesh * mesh,
const char * file,
const char * file_end,
const MR_SaveSettings * settings )

saves in .ply file Generated from function MR::MeshSave::toPly. Parameter mesh can not be null. It is a single object. Parameter file is a UTF-8 encoded filesystem path. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MeshSave_toPly_std_ostream()

MRC_API MR_expected_void_std_string * MR_MeshSave_toPly_std_ostream ( const MR_Mesh * mesh,
MR_std_ostream * out,
const MR_SaveSettings * settings )

Generated from function MR::MeshSave::toPly. Parameter mesh can not be null. It is a single object. Parameter out can not be null. It is a single object. Parameter settings is a single object. Parameter settings 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_void_std_string_Destroy() to free it when you're done using it.