#include <MRCMesh/MRId.h>
#include <MRCMesh/MRVector3.h>
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
Typedefs | |
typedef struct MR_AffineXf3d | MR_AffineXf3d |
typedef struct MR_Matrix3d | MR_Matrix3d |
typedef struct MR_MeshSave_CtmSaveOptions | MR_MeshSave_CtmSaveOptions |
typedef struct MR_MeshTexture | MR_MeshTexture |
typedef struct MR_PointsSave_CtmSavePointsOptions | MR_PointsSave_CtmSavePointsOptions |
typedef struct MR_VertBitSet | MR_VertBitSet |
typedef struct MR_VertColors | MR_VertColors |
typedef struct MR_VertCoords | MR_VertCoords |
typedef struct MR_VertCoords2 | MR_VertCoords2 |
typedef struct MR_std_function_bool_from_float | MR_std_function_bool_from_float |
typedef struct MR_std_string | MR_std_string |
typedef struct MR_SaveSettings | MR_SaveSettings |
typedef struct MR_VertRenumber | MR_VertRenumber |
typedef struct MR_AffineXf3d MR_AffineXf3d |
typedef struct MR_Matrix3d MR_Matrix3d |
typedef struct MR_MeshSave_CtmSaveOptions MR_MeshSave_CtmSaveOptions |
typedef struct MR_MeshTexture MR_MeshTexture |
typedef struct MR_SaveSettings MR_SaveSettings |
determines how to save points/lines/mesh Generated from class MR::SaveSettings
. Derived classes: Direct: (non-virtual) MR::MeshSave::CtmSaveOptions
MR::PointsSave::CtmSavePointsOptions
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float |
typedef struct MR_std_string MR_std_string |
typedef struct MR_VertBitSet MR_VertBitSet |
typedef struct MR_VertColors MR_VertColors |
typedef struct MR_VertCoords MR_VertCoords |
typedef struct MR_VertCoords2 MR_VertCoords2 |
typedef struct MR_VertRenumber MR_VertRenumber |
maps valid points to packed sequential indices Generated from class MR::VertRenumber
.
MRC_API MR_Vector3d MR_applyDouble_const_MR_AffineXf3d_ptr | ( | const MR_AffineXf3d * | xf, |
const MR_Vector3f * | p ) |
converts given point in double precision and applies given transformation to it Generated from function MR::applyDouble
. Parameter p
can not be null. It is a single object.
MRC_API MR_Vector3d MR_applyDouble_const_MR_Matrix3d_ptr | ( | const MR_Matrix3d * | m, |
const MR_Vector3f * | n ) |
converts given normal in double precision and applies given matrix to it Generated from function MR::applyDouble
. Parameter n
can not be null. It is a single object.
MRC_API MR_Vector3f MR_applyFloat_const_MR_AffineXf3d_ptr | ( | const MR_AffineXf3d * | xf, |
const MR_Vector3f * | p ) |
returns the point as is or after application of given transform to it in double precision Generated from function MR::applyFloat
. Parameter p
can not be null. It is a single object.
MRC_API MR_Vector3f MR_applyFloat_const_MR_Matrix3d_ptr | ( | const MR_Matrix3d * | m, |
const MR_Vector3f * | n ) |
returns the normal as is or after application of given matrix to it in double precision Generated from function MR::applyFloat
. Parameter n
can not be null. It is a single object.
MRC_API MR_SaveSettings * MR_SaveSettings_AssignFromAnother | ( | MR_SaveSettings * | _this, |
MR_PassBy | _other_pass_by, | ||
MR_SaveSettings * | _other ) |
Generated from a method of class MR::SaveSettings
named operator=
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API MR_SaveSettings * MR_SaveSettings_ConstructFrom | ( | bool | onlyValidPoints, |
bool | packPrimitives, | ||
const MR_VertColors * | colors, | ||
const MR_VertCoords2 * | uvMap, | ||
const MR_MeshTexture * | texture, | ||
const char * | materialName, | ||
const char * | materialName_end, | ||
const MR_AffineXf3d * | xf, | ||
MR_PassBy | progress_pass_by, | ||
MR_std_function_bool_from_float * | progress ) |
Constructs MR::SaveSettings
elementwise. Parameter materialName
can not be null. If materialName_end
is null, then materialName
is assumed to be null-terminated. Never returns null. Returns an instance allocated on the heap! Must call MR_SaveSettings_Destroy()
to free it when you're done using it.
MRC_API MR_SaveSettings * MR_SaveSettings_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
MR_SaveSettings * | _other ) |
Generated from a constructor of class MR::SaveSettings
. Never returns null. Returns an instance allocated on the heap! Must call MR_SaveSettings_Destroy()
to free it when you're done using it.
MRC_API MR_SaveSettings * MR_SaveSettings_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_SaveSettings_Destroy()
to free it when you're done using it.
MRC_API MR_SaveSettings * MR_SaveSettings_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_SaveSettings_DestroyArray()
. Use MR_SaveSettings_OffsetMutablePtr()
and MR_SaveSettings_OffsetPtr()
to access the array elements.
MRC_API void MR_SaveSettings_Destroy | ( | const MR_SaveSettings * | _this | ) |
Destroys a heap-allocated instance of MR_SaveSettings
. Does nothing if the pointer is null.
MRC_API void MR_SaveSettings_DestroyArray | ( | const MR_SaveSettings * | _this | ) |
Destroys a heap-allocated array of MR_SaveSettings
. Does nothing if the pointer is null.
MRC_API const MR_VertColors *const * MR_SaveSettings_Get_colors | ( | const MR_SaveSettings * | _this | ) |
optional per-vertex color to save with the geometry Returns a pointer to a member variable of class MR::SaveSettings
named colors
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_std_string * MR_SaveSettings_Get_materialName | ( | const MR_SaveSettings * | _this | ) |
used to save texture and material in some formats (obj) Returns a pointer to a member variable of class MR::SaveSettings
named materialName
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const bool * MR_SaveSettings_Get_onlyValidPoints | ( | const MR_SaveSettings * | _this | ) |
true - save valid points/vertices only (pack them); false - save all points/vertices preserving their indices Returns a pointer to a member variable of class MR::SaveSettings
named onlyValidPoints
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const bool * MR_SaveSettings_Get_packPrimitives | ( | const MR_SaveSettings * | _this | ) |
whether to allow packing or shuffling of primitives (triangles in meshes or edges in polylines); if packPrimitives=true, then ids of invalid primitives are reused by valid primitives and higher compression (in .ctm format) can be reached if the order of triangles is changed; if packPrimitives=false then all primitives maintain their ids, and invalid primitives are saved with all vertex ids equal to zero; currently this flag affects the saving in .ctm and .ply formats only Returns a pointer to a member variable of class MR::SaveSettings
named packPrimitives
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_std_function_bool_from_float * MR_SaveSettings_Get_progress | ( | const MR_SaveSettings * | _this | ) |
to report save progress and cancel saving if user desires Returns a pointer to a member variable of class MR::SaveSettings
named progress
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_MeshTexture *const * MR_SaveSettings_Get_texture | ( | const MR_SaveSettings * | _this | ) |
optional texture to save with the geometry Returns a pointer to a member variable of class MR::SaveSettings
named texture
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_VertCoords2 *const * MR_SaveSettings_Get_uvMap | ( | const MR_SaveSettings * | _this | ) |
optional per-vertex uv coordinate to save with the geometry Returns a pointer to a member variable of class MR::SaveSettings
named uvMap
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_AffineXf3d *const * MR_SaveSettings_Get_xf | ( | const MR_SaveSettings * | _this | ) |
this transformation can optionally be applied to all vertices (points) of saved object Returns a pointer to a member variable of class MR::SaveSettings
named xf
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_VertColors ** MR_SaveSettings_GetMutable_colors | ( | MR_SaveSettings * | _this | ) |
optional per-vertex color to save with the geometry Returns a mutable pointer to a member variable of class MR::SaveSettings
named colors
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API MR_std_string * MR_SaveSettings_GetMutable_materialName | ( | MR_SaveSettings * | _this | ) |
used to save texture and material in some formats (obj) Returns a mutable pointer to a member variable of class MR::SaveSettings
named materialName
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API bool * MR_SaveSettings_GetMutable_onlyValidPoints | ( | MR_SaveSettings * | _this | ) |
true - save valid points/vertices only (pack them); false - save all points/vertices preserving their indices Returns a mutable pointer to a member variable of class MR::SaveSettings
named onlyValidPoints
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API bool * MR_SaveSettings_GetMutable_packPrimitives | ( | MR_SaveSettings * | _this | ) |
whether to allow packing or shuffling of primitives (triangles in meshes or edges in polylines); if packPrimitives=true, then ids of invalid primitives are reused by valid primitives and higher compression (in .ctm format) can be reached if the order of triangles is changed; if packPrimitives=false then all primitives maintain their ids, and invalid primitives are saved with all vertex ids equal to zero; currently this flag affects the saving in .ctm and .ply formats only Returns a mutable pointer to a member variable of class MR::SaveSettings
named packPrimitives
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API MR_std_function_bool_from_float * MR_SaveSettings_GetMutable_progress | ( | MR_SaveSettings * | _this | ) |
to report save progress and cancel saving if user desires Returns a mutable pointer to a member variable of class MR::SaveSettings
named progress
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_MeshTexture ** MR_SaveSettings_GetMutable_texture | ( | MR_SaveSettings * | _this | ) |
optional texture to save with the geometry Returns a mutable pointer to a member variable of class MR::SaveSettings
named texture
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_VertCoords2 ** MR_SaveSettings_GetMutable_uvMap | ( | MR_SaveSettings * | _this | ) |
optional per-vertex uv coordinate to save with the geometry Returns a mutable pointer to a member variable of class MR::SaveSettings
named uvMap
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_AffineXf3d ** MR_SaveSettings_GetMutable_xf | ( | MR_SaveSettings * | _this | ) |
this transformation can optionally be applied to all vertices (points) of saved object Returns a mutable pointer to a member variable of class MR::SaveSettings
named xf
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API MR_MeshSave_CtmSaveOptions * MR_SaveSettings_MutableStaticDowncastTo_MR_MeshSave_CtmSaveOptions | ( | MR_SaveSettings * | object | ) |
Downcasts an instance of MR::SaveSettings
to a derived class MR::MeshSave::CtmSaveOptions
. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.
MRC_API MR_PointsSave_CtmSavePointsOptions * MR_SaveSettings_MutableStaticDowncastTo_MR_PointsSave_CtmSavePointsOptions | ( | MR_SaveSettings * | object | ) |
Downcasts an instance of MR::SaveSettings
to a derived class MR::PointsSave::CtmSavePointsOptions
. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.
MRC_API MR_SaveSettings * MR_SaveSettings_OffsetMutablePtr | ( | MR_SaveSettings * | 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.
MRC_API const MR_SaveSettings * MR_SaveSettings_OffsetPtr | ( | const MR_SaveSettings * | 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.
MRC_API void MR_SaveSettings_Set_colors | ( | MR_SaveSettings * | _this, |
const MR_VertColors * | value ) |
optional per-vertex color to save with the geometry Modifies a member variable of class MR::SaveSettings
named colors
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SaveSettings_Set_materialName | ( | MR_SaveSettings * | _this, |
const char * | value, | ||
const char * | value_end ) |
used to save texture and material in some formats (obj) Modifies a member variable of class MR::SaveSettings
named materialName
. Parameter _this
can not be null. It is a single object. Parameter value
can not be null. If value_end
is null, then value
is assumed to be null-terminated.
MRC_API void MR_SaveSettings_Set_onlyValidPoints | ( | MR_SaveSettings * | _this, |
bool | value ) |
true - save valid points/vertices only (pack them); false - save all points/vertices preserving their indices Modifies a member variable of class MR::SaveSettings
named onlyValidPoints
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SaveSettings_Set_packPrimitives | ( | MR_SaveSettings * | _this, |
bool | value ) |
whether to allow packing or shuffling of primitives (triangles in meshes or edges in polylines); if packPrimitives=true, then ids of invalid primitives are reused by valid primitives and higher compression (in .ctm format) can be reached if the order of triangles is changed; if packPrimitives=false then all primitives maintain their ids, and invalid primitives are saved with all vertex ids equal to zero; currently this flag affects the saving in .ctm and .ply formats only Modifies a member variable of class MR::SaveSettings
named packPrimitives
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SaveSettings_Set_progress | ( | MR_SaveSettings * | _this, |
MR_PassBy | value_pass_by, | ||
MR_std_function_bool_from_float * | value ) |
to report save progress and cancel saving if user desires Modifies a member variable of class MR::SaveSettings
named progress
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SaveSettings_Set_texture | ( | MR_SaveSettings * | _this, |
const MR_MeshTexture * | value ) |
optional texture to save with the geometry Modifies a member variable of class MR::SaveSettings
named texture
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SaveSettings_Set_uvMap | ( | MR_SaveSettings * | _this, |
const MR_VertCoords2 * | value ) |
optional per-vertex uv coordinate to save with the geometry Modifies a member variable of class MR::SaveSettings
named uvMap
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SaveSettings_Set_xf | ( | MR_SaveSettings * | _this, |
const MR_AffineXf3d * | value ) |
this transformation can optionally be applied to all vertices (points) of saved object Modifies a member variable of class MR::SaveSettings
named xf
. Parameter _this
can not be null. It is a single object.
MRC_API const MR_MeshSave_CtmSaveOptions * MR_SaveSettings_StaticDowncastTo_MR_MeshSave_CtmSaveOptions | ( | const MR_SaveSettings * | object | ) |
Downcasts an instance of MR::SaveSettings
to a derived class MR::MeshSave::CtmSaveOptions
. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.
MRC_API const MR_PointsSave_CtmSavePointsOptions * MR_SaveSettings_StaticDowncastTo_MR_PointsSave_CtmSavePointsOptions | ( | const MR_SaveSettings * | object | ) |
Downcasts an instance of MR::SaveSettings
to a derived class MR::PointsSave::CtmSavePointsOptions
. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.
MRC_API const MR_VertCoords * MR_transformNormals | ( | const MR_VertCoords * | normals, |
const MR_VertBitSet * | validVerts, | ||
const MR_Matrix3d * | m, | ||
MR_VertCoords * | buf ) |
if (m) is null then just returns (normals); otherwise copies transformed normals in (buf) and returns it Generated from function MR::transformNormals
. Parameter normals
can not be null. It is a single object. Parameter validVerts
can not be null. It is a single object. Parameter buf
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API const MR_VertCoords * MR_transformPoints | ( | const MR_VertCoords * | verts, |
const MR_VertBitSet * | validVerts, | ||
const MR_AffineXf3d * | xf, | ||
MR_VertCoords * | buf, | ||
const MR_VertRenumber * | vertRenumber ) |
if (xf) is null then just returns (verts); otherwise copies transformed points in (buf) and returns it Generated from function MR::transformPoints
. Parameter verts
can not be null. It is a single object. Parameter validVerts
can not be null. It is a single object. Parameter buf
can not be null. It is a single object. Parameter vertRenumber
defaults to a null pointer in C++. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API MR_VertRenumber * MR_VertRenumber_AssignFromAnother | ( | MR_VertRenumber * | _this, |
MR_PassBy | _other_pass_by, | ||
MR_VertRenumber * | _other ) |
Generated from a method of class MR::VertRenumber
named operator=
. Parameter _this
can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
MRC_API int32_t MR_VertRenumber_call | ( | const MR_VertRenumber * | _this, |
MR_VertId | v ) |
return packed index (if saveValidOnly = true) or same index (if saveValidOnly = false) Generated from a method of class MR::VertRenumber
named operator()
. Parameter _this
can not be null. It is a single object.
MRC_API MR_VertRenumber * MR_VertRenumber_Construct | ( | const MR_VertBitSet * | validVerts, |
bool | saveValidOnly ) |
prepares the mapping Generated from a constructor of class MR::VertRenumber
. Parameter validVerts
can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_VertRenumber_Destroy()
to free it when you're done using it.
MRC_API MR_VertRenumber * MR_VertRenumber_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
MR_VertRenumber * | _other ) |
Generated from a constructor of class MR::VertRenumber
. Never returns null. Returns an instance allocated on the heap! Must call MR_VertRenumber_Destroy()
to free it when you're done using it.
MRC_API void MR_VertRenumber_Destroy | ( | const MR_VertRenumber * | _this | ) |
Destroys a heap-allocated instance of MR_VertRenumber
. Does nothing if the pointer is null.
MRC_API void MR_VertRenumber_DestroyArray | ( | const MR_VertRenumber * | _this | ) |
Destroys a heap-allocated array of MR_VertRenumber
. Does nothing if the pointer is null.
MRC_API MR_VertRenumber * MR_VertRenumber_OffsetMutablePtr | ( | MR_VertRenumber * | 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.
MRC_API const MR_VertRenumber * MR_VertRenumber_OffsetPtr | ( | const MR_VertRenumber * | 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.
MRC_API bool MR_VertRenumber_saveValidOnly | ( | const MR_VertRenumber * | _this | ) |
Generated from a method of class MR::VertRenumber
named saveValidOnly
. Parameter _this
can not be null. It is a single object.
MRC_API int32_t MR_VertRenumber_sizeVerts | ( | const MR_VertRenumber * | _this | ) |
return the total number of vertices to be saved Generated from a method of class MR::VertRenumber
named sizeVerts
. Parameter _this
can not be null. It is a single object.