MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshBoolean.h File Reference
#include <MRCMesh/MRBooleanOperation.h>
#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_AffineXf3f MR_AffineXf3f
 
typedef struct MR_BooleanResultMapper MR_BooleanResultMapper
 
typedef struct MR_CoordinateConverters MR_CoordinateConverters
 
typedef struct MR_FaceBitSet MR_FaceBitSet
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_expected_MR_BooleanResultPoints_std_string MR_expected_MR_BooleanResultPoints_std_string
 
typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
 
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_std_vector_MR_OneMeshContour MR_std_vector_MR_OneMeshContour
 
typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
 
typedef struct MR_std_vector_std_vector_MR_EdgeId MR_std_vector_std_vector_MR_EdgeId
 
typedef struct MR_std_vector_std_vector_MR_Vector3f MR_std_vector_std_vector_MR_Vector3f
 
typedef struct MR_BooleanResult MR_BooleanResult
 Generated from class MR::BooleanResult.
 
typedef struct MR_BooleanPreCutResult MR_BooleanPreCutResult
 Generated from class MR::BooleanPreCutResult.
 
typedef struct MR_BooleanParameters MR_BooleanParameters
 Generated from class MR::BooleanParameters.
 
typedef struct MR_BooleanResultPoints MR_BooleanResultPoints
 

Functions

MRC_API const MR_MeshMR_BooleanResult_Get_mesh (const MR_BooleanResult *_this)
 
MRC_API void MR_BooleanResult_Set_mesh (MR_BooleanResult *_this, MR_PassBy value_pass_by, MR_Mesh *value)
 
MRC_API MR_MeshMR_BooleanResult_GetMutable_mesh (MR_BooleanResult *_this)
 
MRC_API const MR_FaceBitSetMR_BooleanResult_Get_meshABadContourFaces (const MR_BooleanResult *_this)
 
MRC_API void MR_BooleanResult_Set_meshABadContourFaces (MR_BooleanResult *_this, MR_PassBy value_pass_by, MR_FaceBitSet *value)
 
MRC_API MR_FaceBitSetMR_BooleanResult_GetMutable_meshABadContourFaces (MR_BooleanResult *_this)
 
MRC_API const MR_FaceBitSetMR_BooleanResult_Get_meshBBadContourFaces (const MR_BooleanResult *_this)
 
MRC_API void MR_BooleanResult_Set_meshBBadContourFaces (MR_BooleanResult *_this, MR_PassBy value_pass_by, MR_FaceBitSet *value)
 
MRC_API MR_FaceBitSetMR_BooleanResult_GetMutable_meshBBadContourFaces (MR_BooleanResult *_this)
 
MRC_API const MR_std_stringMR_BooleanResult_Get_errorString (const MR_BooleanResult *_this)
 
MRC_API void MR_BooleanResult_Set_errorString (MR_BooleanResult *_this, const char *value, const char *value_end)
 
MRC_API MR_std_stringMR_BooleanResult_GetMutable_errorString (MR_BooleanResult *_this)
 
MRC_API MR_BooleanResultMR_BooleanResult_DefaultConstruct (void)
 
MRC_API MR_BooleanResultMR_BooleanResult_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_BooleanResultMR_BooleanResult_ConstructFrom (MR_PassBy mesh_pass_by, MR_Mesh *mesh, MR_PassBy meshABadContourFaces_pass_by, MR_FaceBitSet *meshABadContourFaces, MR_PassBy meshBBadContourFaces_pass_by, MR_FaceBitSet *meshBBadContourFaces, const char *errorString, const char *errorString_end)
 
MRC_API const MR_BooleanResultMR_BooleanResult_OffsetPtr (const MR_BooleanResult *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 MR_BooleanResultMR_BooleanResult_OffsetMutablePtr (MR_BooleanResult *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 MR_BooleanResultMR_BooleanResult_ConstructFromAnother (MR_PassBy _other_pass_by, MR_BooleanResult *_other)
 
MRC_API void MR_BooleanResult_Destroy (const MR_BooleanResult *_this)
 Destroys a heap-allocated instance of MR_BooleanResult. Does nothing if the pointer is null.
 
MRC_API void MR_BooleanResult_DestroyArray (const MR_BooleanResult *_this)
 Destroys a heap-allocated array of MR_BooleanResult. Does nothing if the pointer is null.
 
MRC_API bool MR_BooleanResult_ConvertTo_bool (const MR_BooleanResult *_this)
 
MRC_API MR_BooleanResultMR_BooleanResult_AssignFromAnother (MR_BooleanResult *_this, MR_PassBy _other_pass_by, MR_BooleanResult *_other)
 
MRC_API bool MR_BooleanResult_valid (const MR_BooleanResult *_this)
 
MRC_API MR_MeshMR_deref_MR_BooleanResult_ref (MR_BooleanResult *_this)
 
MRC_API const MR_MeshMR_deref_const_MR_BooleanResult_ref (const MR_BooleanResult *_this)
 
MRC_API MR_MeshMR_BooleanResult_arrow (MR_BooleanResult *_this)
 
MRC_API const MR_MeshMR_BooleanResult_arrow_const (const MR_BooleanResult *_this)
 
MRC_API MR_BooleanResultMR_boolean_6_const_MR_Mesh_ref (const MR_Mesh *meshA, const MR_Mesh *meshB, MR_BooleanOperation operation, const MR_AffineXf3f *rigidB2A, MR_BooleanResultMapper *mapper, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 Performs CSG operation on two meshes.
 
MRC_API MR_BooleanResultMR_boolean_6_MR_Mesh_rvalue_ref (MR_Mesh *meshA, MR_Mesh *meshB, MR_BooleanOperation operation, const MR_AffineXf3f *rigidB2A, MR_BooleanResultMapper *mapper, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 
MRC_API const MR_MeshMR_BooleanPreCutResult_Get_mesh (const MR_BooleanPreCutResult *_this)
 
MRC_API void MR_BooleanPreCutResult_Set_mesh (MR_BooleanPreCutResult *_this, MR_PassBy value_pass_by, MR_Mesh *value)
 
MRC_API MR_MeshMR_BooleanPreCutResult_GetMutable_mesh (MR_BooleanPreCutResult *_this)
 
MRC_API const MR_std_vector_MR_OneMeshContourMR_BooleanPreCutResult_Get_contours (const MR_BooleanPreCutResult *_this)
 
MRC_API void MR_BooleanPreCutResult_Set_contours (MR_BooleanPreCutResult *_this, MR_PassBy value_pass_by, MR_std_vector_MR_OneMeshContour *value)
 
MRC_API MR_std_vector_MR_OneMeshContourMR_BooleanPreCutResult_GetMutable_contours (MR_BooleanPreCutResult *_this)
 
MRC_API MR_BooleanPreCutResultMR_BooleanPreCutResult_DefaultConstruct (void)
 
MRC_API MR_BooleanPreCutResultMR_BooleanPreCutResult_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_BooleanPreCutResultMR_BooleanPreCutResult_ConstructFrom (MR_PassBy mesh_pass_by, MR_Mesh *mesh, MR_PassBy contours_pass_by, MR_std_vector_MR_OneMeshContour *contours)
 
MRC_API const MR_BooleanPreCutResultMR_BooleanPreCutResult_OffsetPtr (const MR_BooleanPreCutResult *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 MR_BooleanPreCutResultMR_BooleanPreCutResult_OffsetMutablePtr (MR_BooleanPreCutResult *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 MR_BooleanPreCutResultMR_BooleanPreCutResult_ConstructFromAnother (MR_PassBy _other_pass_by, MR_BooleanPreCutResult *_other)
 
MRC_API void MR_BooleanPreCutResult_Destroy (const MR_BooleanPreCutResult *_this)
 Destroys a heap-allocated instance of MR_BooleanPreCutResult. Does nothing if the pointer is null.
 
MRC_API void MR_BooleanPreCutResult_DestroyArray (const MR_BooleanPreCutResult *_this)
 Destroys a heap-allocated array of MR_BooleanPreCutResult. Does nothing if the pointer is null.
 
MRC_API MR_BooleanPreCutResultMR_BooleanPreCutResult_AssignFromAnother (MR_BooleanPreCutResult *_this, MR_PassBy _other_pass_by, MR_BooleanPreCutResult *_other)
 
MRC_API const MR_AffineXf3f *const * MR_BooleanParameters_Get_rigidB2A (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_rigidB2A (MR_BooleanParameters *_this, const MR_AffineXf3f *value)
 
MRC_API const MR_AffineXf3f ** MR_BooleanParameters_GetMutable_rigidB2A (MR_BooleanParameters *_this)
 
MRC_API MR_BooleanResultMapper *const * MR_BooleanParameters_Get_mapper (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_mapper (MR_BooleanParameters *_this, MR_BooleanResultMapper *value)
 
MRC_API MR_BooleanResultMapper ** MR_BooleanParameters_GetMutable_mapper (MR_BooleanParameters *_this)
 
MRC_API MR_BooleanPreCutResult *const * MR_BooleanParameters_Get_outPreCutA (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_outPreCutA (MR_BooleanParameters *_this, MR_BooleanPreCutResult *value)
 
MRC_API MR_BooleanPreCutResult ** MR_BooleanParameters_GetMutable_outPreCutA (MR_BooleanParameters *_this)
 
MRC_API MR_BooleanPreCutResult *const * MR_BooleanParameters_Get_outPreCutB (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_outPreCutB (MR_BooleanParameters *_this, MR_BooleanPreCutResult *value)
 
MRC_API MR_BooleanPreCutResult ** MR_BooleanParameters_GetMutable_outPreCutB (MR_BooleanParameters *_this)
 
MRC_API MR_std_vector_std_vector_MR_EdgeId *const * MR_BooleanParameters_Get_outCutEdges (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_outCutEdges (MR_BooleanParameters *_this, MR_std_vector_std_vector_MR_EdgeId *value)
 
MRC_API MR_std_vector_std_vector_MR_EdgeId ** MR_BooleanParameters_GetMutable_outCutEdges (MR_BooleanParameters *_this)
 
MRC_API const bool * MR_BooleanParameters_Get_mergeAllNonIntersectingComponents (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_mergeAllNonIntersectingComponents (MR_BooleanParameters *_this, bool value)
 
MRC_API bool * MR_BooleanParameters_GetMutable_mergeAllNonIntersectingComponents (MR_BooleanParameters *_this)
 
MRC_API const bool * MR_BooleanParameters_Get_forceCut (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_forceCut (MR_BooleanParameters *_this, bool value)
 
MRC_API bool * MR_BooleanParameters_GetMutable_forceCut (MR_BooleanParameters *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_BooleanParameters_Get_cb (const MR_BooleanParameters *_this)
 
MRC_API void MR_BooleanParameters_Set_cb (MR_BooleanParameters *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_BooleanParameters_GetMutable_cb (MR_BooleanParameters *_this)
 
MRC_API MR_BooleanParametersMR_BooleanParameters_DefaultConstruct (void)
 
MRC_API MR_BooleanParametersMR_BooleanParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_BooleanParametersMR_BooleanParameters_ConstructFrom (const MR_AffineXf3f *rigidB2A, MR_BooleanResultMapper *mapper, MR_BooleanPreCutResult *outPreCutA, MR_BooleanPreCutResult *outPreCutB, MR_std_vector_std_vector_MR_EdgeId *outCutEdges, bool mergeAllNonIntersectingComponents, bool forceCut, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
 
MRC_API const MR_BooleanParametersMR_BooleanParameters_OffsetPtr (const MR_BooleanParameters *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 MR_BooleanParametersMR_BooleanParameters_OffsetMutablePtr (MR_BooleanParameters *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 MR_BooleanParametersMR_BooleanParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_BooleanParameters *_other)
 
MRC_API void MR_BooleanParameters_Destroy (const MR_BooleanParameters *_this)
 Destroys a heap-allocated instance of MR_BooleanParameters. Does nothing if the pointer is null.
 
MRC_API void MR_BooleanParameters_DestroyArray (const MR_BooleanParameters *_this)
 Destroys a heap-allocated array of MR_BooleanParameters. Does nothing if the pointer is null.
 
MRC_API MR_BooleanParametersMR_BooleanParameters_AssignFromAnother (MR_BooleanParameters *_this, MR_PassBy _other_pass_by, MR_BooleanParameters *_other)
 
MRC_API MR_BooleanResultMR_boolean_4_const_MR_Mesh_ref (const MR_Mesh *meshA, const MR_Mesh *meshB, MR_BooleanOperation operation, const MR_BooleanParameters *params)
 
MRC_API MR_BooleanResultMR_boolean_4_MR_Mesh_rvalue_ref (MR_Mesh *meshA, MR_Mesh *meshB, MR_BooleanOperation operation, const MR_BooleanParameters *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_selfBoolean (const MR_Mesh *mesh)
 
MRC_API MR_std_vector_std_vector_MR_Vector3fMR_findIntersectionContours (const MR_Mesh *meshA, const MR_Mesh *meshB, const MR_AffineXf3f *rigidB2A)
 
MRC_API const MR_VertBitSetMR_BooleanResultPoints_Get_meshAVerts (const MR_BooleanResultPoints *_this)
 
MRC_API void MR_BooleanResultPoints_Set_meshAVerts (MR_BooleanResultPoints *_this, MR_PassBy value_pass_by, MR_VertBitSet *value)
 
MRC_API MR_VertBitSetMR_BooleanResultPoints_GetMutable_meshAVerts (MR_BooleanResultPoints *_this)
 
MRC_API const MR_VertBitSetMR_BooleanResultPoints_Get_meshBVerts (const MR_BooleanResultPoints *_this)
 
MRC_API void MR_BooleanResultPoints_Set_meshBVerts (MR_BooleanResultPoints *_this, MR_PassBy value_pass_by, MR_VertBitSet *value)
 
MRC_API MR_VertBitSetMR_BooleanResultPoints_GetMutable_meshBVerts (MR_BooleanResultPoints *_this)
 
MRC_API const MR_std_vector_MR_Vector3fMR_BooleanResultPoints_Get_intersectionPoints (const MR_BooleanResultPoints *_this)
 
MRC_API void MR_BooleanResultPoints_Set_intersectionPoints (MR_BooleanResultPoints *_this, MR_PassBy value_pass_by, MR_std_vector_MR_Vector3f *value)
 
MRC_API MR_std_vector_MR_Vector3fMR_BooleanResultPoints_GetMutable_intersectionPoints (MR_BooleanResultPoints *_this)
 
MRC_API MR_BooleanResultPointsMR_BooleanResultPoints_DefaultConstruct (void)
 
MRC_API MR_BooleanResultPointsMR_BooleanResultPoints_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_BooleanResultPointsMR_BooleanResultPoints_ConstructFrom (MR_PassBy meshAVerts_pass_by, MR_VertBitSet *meshAVerts, MR_PassBy meshBVerts_pass_by, MR_VertBitSet *meshBVerts, MR_PassBy intersectionPoints_pass_by, MR_std_vector_MR_Vector3f *intersectionPoints)
 
MRC_API const MR_BooleanResultPointsMR_BooleanResultPoints_OffsetPtr (const MR_BooleanResultPoints *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 MR_BooleanResultPointsMR_BooleanResultPoints_OffsetMutablePtr (MR_BooleanResultPoints *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 MR_BooleanResultPointsMR_BooleanResultPoints_ConstructFromAnother (MR_PassBy _other_pass_by, MR_BooleanResultPoints *_other)
 
MRC_API void MR_BooleanResultPoints_Destroy (const MR_BooleanResultPoints *_this)
 Destroys a heap-allocated instance of MR_BooleanResultPoints. Does nothing if the pointer is null.
 
MRC_API void MR_BooleanResultPoints_DestroyArray (const MR_BooleanResultPoints *_this)
 Destroys a heap-allocated array of MR_BooleanResultPoints. Does nothing if the pointer is null.
 
MRC_API MR_BooleanResultPointsMR_BooleanResultPoints_AssignFromAnother (MR_BooleanResultPoints *_this, MR_PassBy _other_pass_by, MR_BooleanResultPoints *_other)
 
MRC_API MR_expected_MR_BooleanResultPoints_std_stringMR_getBooleanPoints (const MR_Mesh *meshA, const MR_Mesh *meshB, MR_BooleanOperation operation, const MR_AffineXf3f *rigidB2A)
 Returns the points of mesh boolean's result mesh.
 
MRC_API void MR_convertIntFloatAllVerts (MR_Mesh *mesh, const MR_CoordinateConverters *conv)
 

Typedef Documentation

◆ MR_AffineXf3f

typedef struct MR_AffineXf3f MR_AffineXf3f

◆ MR_BooleanParameters

Generated from class MR::BooleanParameters.

◆ MR_BooleanPreCutResult

◆ MR_BooleanResult

Generated from class MR::BooleanResult.

◆ MR_BooleanResultMapper

◆ MR_BooleanResultPoints

vertices and points representing mesh intersection result Generated from class MR::BooleanResultPoints.

◆ MR_CoordinateConverters

◆ MR_expected_MR_BooleanResultPoints_std_string

◆ MR_expected_MR_Mesh_std_string

◆ MR_FaceBitSet

typedef struct MR_FaceBitSet MR_FaceBitSet

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_std_function_bool_from_float

◆ MR_std_string

typedef struct MR_std_string MR_std_string

◆ MR_std_vector_MR_OneMeshContour

◆ MR_std_vector_MR_Vector3f

◆ MR_std_vector_std_vector_MR_EdgeId

◆ MR_std_vector_std_vector_MR_Vector3f

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

Function Documentation

◆ MR_boolean_4_const_MR_Mesh_ref()

MRC_API MR_BooleanResult * MR_boolean_4_const_MR_Mesh_ref ( const MR_Mesh * meshA,
const MR_Mesh * meshB,
MR_BooleanOperation operation,
const MR_BooleanParameters * params )

Generated from function MR::boolean. Parameter meshA can not be null. It is a single object. Parameter meshB can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_boolean_4_MR_Mesh_rvalue_ref()

MRC_API MR_BooleanResult * MR_boolean_4_MR_Mesh_rvalue_ref ( MR_Mesh * meshA,
MR_Mesh * meshB,
MR_BooleanOperation operation,
const MR_BooleanParameters * params )

Generated from function MR::boolean. Parameter meshA can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later. Parameter meshB can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_boolean_6_const_MR_Mesh_ref()

MRC_API MR_BooleanResult * MR_boolean_6_const_MR_Mesh_ref ( const MR_Mesh * meshA,
const MR_Mesh * meshB,
MR_BooleanOperation operation,
const MR_AffineXf3f * rigidB2A,
MR_BooleanResultMapper * mapper,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

Performs CSG operation on two meshes.

Makes new mesh - result of boolean operation on mesh A and mesh B

Parameters
meshAInput mesh A
meshBInput mesh B
operationCSG operation to perform
rigidB2ATransform from mesh B space to mesh A space
mapperOptional output structure to map mesh A and mesh B topology to result mesh topology
Note
Input meshes should have no self-intersections in intersecting zone
If meshes are not closed in intersecting zone some boolean operations are not allowed (as far as input meshes interior and exterior cannot be determined) Generated from function MR::boolean. Parameter meshA can not be null. It is a single object. Parameter meshB can not be null. It is a single object. Parameter mapper defaults to a null pointer in C++. Parameter cb 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_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_boolean_6_MR_Mesh_rvalue_ref()

MRC_API MR_BooleanResult * MR_boolean_6_MR_Mesh_rvalue_ref ( MR_Mesh * meshA,
MR_Mesh * meshB,
MR_BooleanOperation operation,
const MR_AffineXf3f * rigidB2A,
MR_BooleanResultMapper * mapper,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

Generated from function MR::boolean. Parameter meshA can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later. Parameter meshB can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later. Parameter mapper defaults to a null pointer in C++. Parameter cb 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_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_BooleanParameters_AssignFromAnother()

MRC_API MR_BooleanParameters * MR_BooleanParameters_AssignFromAnother ( MR_BooleanParameters * _this,
MR_PassBy _other_pass_by,
MR_BooleanParameters * _other )

Generated from a method of class MR::BooleanParameters 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.

◆ MR_BooleanParameters_ConstructFrom()

MRC_API MR_BooleanParameters * MR_BooleanParameters_ConstructFrom ( const MR_AffineXf3f * rigidB2A,
MR_BooleanResultMapper * mapper,
MR_BooleanPreCutResult * outPreCutA,
MR_BooleanPreCutResult * outPreCutB,
MR_std_vector_std_vector_MR_EdgeId * outCutEdges,
bool mergeAllNonIntersectingComponents,
bool forceCut,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb )

Constructs MR::BooleanParameters elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanParameters_Destroy() to free it when you're done using it.

◆ MR_BooleanParameters_ConstructFromAnother()

MRC_API MR_BooleanParameters * MR_BooleanParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_BooleanParameters * _other )

Generated from a constructor of class MR::BooleanParameters. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanParameters_Destroy() to free it when you're done using it.

◆ MR_BooleanParameters_DefaultConstruct()

MRC_API MR_BooleanParameters * MR_BooleanParameters_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanParameters_Destroy() to free it when you're done using it.

◆ MR_BooleanParameters_DefaultConstructArray()

MRC_API MR_BooleanParameters * MR_BooleanParameters_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_BooleanParameters_DestroyArray(). Use MR_BooleanParameters_OffsetMutablePtr() and MR_BooleanParameters_OffsetPtr() to access the array elements.

◆ MR_BooleanParameters_Destroy()

MRC_API void MR_BooleanParameters_Destroy ( const MR_BooleanParameters * _this)

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

◆ MR_BooleanParameters_DestroyArray()

MRC_API void MR_BooleanParameters_DestroyArray ( const MR_BooleanParameters * _this)

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

◆ MR_BooleanParameters_Get_cb()

MRC_API const MR_std_function_bool_from_float * MR_BooleanParameters_Get_cb ( const MR_BooleanParameters * _this)

Returns a pointer to a member variable of class MR::BooleanParameters named cb. 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.

◆ MR_BooleanParameters_Get_forceCut()

MRC_API const bool * MR_BooleanParameters_Get_forceCut ( const MR_BooleanParameters * _this)

If this option is enabled boolean will try to cut meshes even if there are self-intersections in intersecting area it might work in some cases, but in general it might prevent fast error report and lead to other errors along the way

Warning
not recommended in most cases Returns a pointer to a member variable of class MR::BooleanParameters named forceCut. 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.

◆ MR_BooleanParameters_Get_mapper()

MRC_API MR_BooleanResultMapper *const * MR_BooleanParameters_Get_mapper ( const MR_BooleanParameters * _this)

Optional output structure to map mesh A and mesh B topology to result mesh topology Returns a pointer to a member variable of class MR::BooleanParameters named mapper. 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.

◆ MR_BooleanParameters_Get_mergeAllNonIntersectingComponents()

MRC_API const bool * MR_BooleanParameters_Get_mergeAllNonIntersectingComponents ( const MR_BooleanParameters * _this)

By default produce valid operation on disconnected components if set merge all non-intersecting components Returns a pointer to a member variable of class MR::BooleanParameters named mergeAllNonIntersectingComponents. 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.

◆ MR_BooleanParameters_Get_outCutEdges()

MRC_API MR_std_vector_std_vector_MR_EdgeId *const * MR_BooleanParameters_Get_outCutEdges ( const MR_BooleanParameters * _this)

Optional output cut edges of booleaned meshes Returns a pointer to a member variable of class MR::BooleanParameters named outCutEdges. 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.

◆ MR_BooleanParameters_Get_outPreCutA()

MRC_API MR_BooleanPreCutResult *const * MR_BooleanParameters_Get_outPreCutA ( const MR_BooleanParameters * _this)

Optional precut output of meshA, if present - does not perform boolean and just return them Returns a pointer to a member variable of class MR::BooleanParameters named outPreCutA. 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.

◆ MR_BooleanParameters_Get_outPreCutB()

MRC_API MR_BooleanPreCutResult *const * MR_BooleanParameters_Get_outPreCutB ( const MR_BooleanParameters * _this)

Optional precut output of meshB, if present - does not perform boolean and just return them Returns a pointer to a member variable of class MR::BooleanParameters named outPreCutB. 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.

◆ MR_BooleanParameters_Get_rigidB2A()

MRC_API const MR_AffineXf3f *const * MR_BooleanParameters_Get_rigidB2A ( const MR_BooleanParameters * _this)

Transform from mesh B space to mesh A space Returns a pointer to a member variable of class MR::BooleanParameters named rigidB2A. 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.

◆ MR_BooleanParameters_GetMutable_cb()

MRC_API MR_std_function_bool_from_float * MR_BooleanParameters_GetMutable_cb ( MR_BooleanParameters * _this)

Returns a mutable pointer to a member variable of class MR::BooleanParameters named cb. 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.

◆ MR_BooleanParameters_GetMutable_forceCut()

MRC_API bool * MR_BooleanParameters_GetMutable_forceCut ( MR_BooleanParameters * _this)

If this option is enabled boolean will try to cut meshes even if there are self-intersections in intersecting area it might work in some cases, but in general it might prevent fast error report and lead to other errors along the way

Warning
not recommended in most cases Returns a mutable pointer to a member variable of class MR::BooleanParameters named forceCut. 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.

◆ MR_BooleanParameters_GetMutable_mapper()

MRC_API MR_BooleanResultMapper ** MR_BooleanParameters_GetMutable_mapper ( MR_BooleanParameters * _this)

Optional output structure to map mesh A and mesh B topology to result mesh topology Returns a mutable pointer to a member variable of class MR::BooleanParameters named mapper. 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.

◆ MR_BooleanParameters_GetMutable_mergeAllNonIntersectingComponents()

MRC_API bool * MR_BooleanParameters_GetMutable_mergeAllNonIntersectingComponents ( MR_BooleanParameters * _this)

By default produce valid operation on disconnected components if set merge all non-intersecting components Returns a mutable pointer to a member variable of class MR::BooleanParameters named mergeAllNonIntersectingComponents. 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.

◆ MR_BooleanParameters_GetMutable_outCutEdges()

MRC_API MR_std_vector_std_vector_MR_EdgeId ** MR_BooleanParameters_GetMutable_outCutEdges ( MR_BooleanParameters * _this)

Optional output cut edges of booleaned meshes Returns a mutable pointer to a member variable of class MR::BooleanParameters named outCutEdges. 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.

◆ MR_BooleanParameters_GetMutable_outPreCutA()

MRC_API MR_BooleanPreCutResult ** MR_BooleanParameters_GetMutable_outPreCutA ( MR_BooleanParameters * _this)

Optional precut output of meshA, if present - does not perform boolean and just return them Returns a mutable pointer to a member variable of class MR::BooleanParameters named outPreCutA. 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.

◆ MR_BooleanParameters_GetMutable_outPreCutB()

MRC_API MR_BooleanPreCutResult ** MR_BooleanParameters_GetMutable_outPreCutB ( MR_BooleanParameters * _this)

Optional precut output of meshB, if present - does not perform boolean and just return them Returns a mutable pointer to a member variable of class MR::BooleanParameters named outPreCutB. 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.

◆ MR_BooleanParameters_GetMutable_rigidB2A()

MRC_API const MR_AffineXf3f ** MR_BooleanParameters_GetMutable_rigidB2A ( MR_BooleanParameters * _this)

Transform from mesh B space to mesh A space Returns a mutable pointer to a member variable of class MR::BooleanParameters named rigidB2A. 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.

◆ MR_BooleanParameters_OffsetMutablePtr()

MRC_API MR_BooleanParameters * MR_BooleanParameters_OffsetMutablePtr ( MR_BooleanParameters * 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.

◆ MR_BooleanParameters_OffsetPtr()

MRC_API const MR_BooleanParameters * MR_BooleanParameters_OffsetPtr ( const MR_BooleanParameters * 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.

◆ MR_BooleanParameters_Set_cb()

MRC_API void MR_BooleanParameters_Set_cb ( MR_BooleanParameters * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

Modifies a member variable of class MR::BooleanParameters named cb. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_forceCut()

MRC_API void MR_BooleanParameters_Set_forceCut ( MR_BooleanParameters * _this,
bool value )

If this option is enabled boolean will try to cut meshes even if there are self-intersections in intersecting area it might work in some cases, but in general it might prevent fast error report and lead to other errors along the way

Warning
not recommended in most cases Modifies a member variable of class MR::BooleanParameters named forceCut. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_mapper()

MRC_API void MR_BooleanParameters_Set_mapper ( MR_BooleanParameters * _this,
MR_BooleanResultMapper * value )

Optional output structure to map mesh A and mesh B topology to result mesh topology Modifies a member variable of class MR::BooleanParameters named mapper. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_mergeAllNonIntersectingComponents()

MRC_API void MR_BooleanParameters_Set_mergeAllNonIntersectingComponents ( MR_BooleanParameters * _this,
bool value )

By default produce valid operation on disconnected components if set merge all non-intersecting components Modifies a member variable of class MR::BooleanParameters named mergeAllNonIntersectingComponents. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_outCutEdges()

MRC_API void MR_BooleanParameters_Set_outCutEdges ( MR_BooleanParameters * _this,
MR_std_vector_std_vector_MR_EdgeId * value )

Optional output cut edges of booleaned meshes Modifies a member variable of class MR::BooleanParameters named outCutEdges. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_outPreCutA()

MRC_API void MR_BooleanParameters_Set_outPreCutA ( MR_BooleanParameters * _this,
MR_BooleanPreCutResult * value )

Optional precut output of meshA, if present - does not perform boolean and just return them Modifies a member variable of class MR::BooleanParameters named outPreCutA. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_outPreCutB()

MRC_API void MR_BooleanParameters_Set_outPreCutB ( MR_BooleanParameters * _this,
MR_BooleanPreCutResult * value )

Optional precut output of meshB, if present - does not perform boolean and just return them Modifies a member variable of class MR::BooleanParameters named outPreCutB. Parameter _this can not be null. It is a single object.

◆ MR_BooleanParameters_Set_rigidB2A()

MRC_API void MR_BooleanParameters_Set_rigidB2A ( MR_BooleanParameters * _this,
const MR_AffineXf3f * value )

Transform from mesh B space to mesh A space Modifies a member variable of class MR::BooleanParameters named rigidB2A. Parameter _this can not be null. It is a single object.

◆ MR_BooleanPreCutResult_AssignFromAnother()

MRC_API MR_BooleanPreCutResult * MR_BooleanPreCutResult_AssignFromAnother ( MR_BooleanPreCutResult * _this,
MR_PassBy _other_pass_by,
MR_BooleanPreCutResult * _other )

Generated from a method of class MR::BooleanPreCutResult 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.

◆ MR_BooleanPreCutResult_ConstructFrom()

MRC_API MR_BooleanPreCutResult * MR_BooleanPreCutResult_ConstructFrom ( MR_PassBy mesh_pass_by,
MR_Mesh * mesh,
MR_PassBy contours_pass_by,
MR_std_vector_MR_OneMeshContour * contours )

Constructs MR::BooleanPreCutResult elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanPreCutResult_Destroy() to free it when you're done using it.

◆ MR_BooleanPreCutResult_ConstructFromAnother()

MRC_API MR_BooleanPreCutResult * MR_BooleanPreCutResult_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_BooleanPreCutResult * _other )

Generated from a constructor of class MR::BooleanPreCutResult. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanPreCutResult_Destroy() to free it when you're done using it.

◆ MR_BooleanPreCutResult_DefaultConstruct()

MRC_API MR_BooleanPreCutResult * MR_BooleanPreCutResult_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanPreCutResult_Destroy() to free it when you're done using it.

◆ MR_BooleanPreCutResult_DefaultConstructArray()

MRC_API MR_BooleanPreCutResult * MR_BooleanPreCutResult_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_BooleanPreCutResult_DestroyArray(). Use MR_BooleanPreCutResult_OffsetMutablePtr() and MR_BooleanPreCutResult_OffsetPtr() to access the array elements.

◆ MR_BooleanPreCutResult_Destroy()

MRC_API void MR_BooleanPreCutResult_Destroy ( const MR_BooleanPreCutResult * _this)

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

◆ MR_BooleanPreCutResult_DestroyArray()

MRC_API void MR_BooleanPreCutResult_DestroyArray ( const MR_BooleanPreCutResult * _this)

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

◆ MR_BooleanPreCutResult_Get_contours()

MRC_API const MR_std_vector_MR_OneMeshContour * MR_BooleanPreCutResult_Get_contours ( const MR_BooleanPreCutResult * _this)

Returns a pointer to a member variable of class MR::BooleanPreCutResult named contours. 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.

◆ MR_BooleanPreCutResult_Get_mesh()

MRC_API const MR_Mesh * MR_BooleanPreCutResult_Get_mesh ( const MR_BooleanPreCutResult * _this)

Returns a pointer to a member variable of class MR::BooleanPreCutResult named mesh. 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.

◆ MR_BooleanPreCutResult_GetMutable_contours()

MRC_API MR_std_vector_MR_OneMeshContour * MR_BooleanPreCutResult_GetMutable_contours ( MR_BooleanPreCutResult * _this)

Returns a mutable pointer to a member variable of class MR::BooleanPreCutResult named contours. 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.

◆ MR_BooleanPreCutResult_GetMutable_mesh()

MRC_API MR_Mesh * MR_BooleanPreCutResult_GetMutable_mesh ( MR_BooleanPreCutResult * _this)

Returns a mutable pointer to a member variable of class MR::BooleanPreCutResult named mesh. 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.

◆ MR_BooleanPreCutResult_OffsetMutablePtr()

MRC_API MR_BooleanPreCutResult * MR_BooleanPreCutResult_OffsetMutablePtr ( MR_BooleanPreCutResult * 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.

◆ MR_BooleanPreCutResult_OffsetPtr()

MRC_API const MR_BooleanPreCutResult * MR_BooleanPreCutResult_OffsetPtr ( const MR_BooleanPreCutResult * 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.

◆ MR_BooleanPreCutResult_Set_contours()

MRC_API void MR_BooleanPreCutResult_Set_contours ( MR_BooleanPreCutResult * _this,
MR_PassBy value_pass_by,
MR_std_vector_MR_OneMeshContour * value )

Modifies a member variable of class MR::BooleanPreCutResult named contours. Parameter _this can not be null. It is a single object.

◆ MR_BooleanPreCutResult_Set_mesh()

MRC_API void MR_BooleanPreCutResult_Set_mesh ( MR_BooleanPreCutResult * _this,
MR_PassBy value_pass_by,
MR_Mesh * value )

Modifies a member variable of class MR::BooleanPreCutResult named mesh. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_arrow()

MRC_API MR_Mesh * MR_BooleanResult_arrow ( MR_BooleanResult * _this)

Generated from a method of class MR::BooleanResult named operator->. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_arrow_const()

MRC_API const MR_Mesh * MR_BooleanResult_arrow_const ( const MR_BooleanResult * _this)

Generated from a method of class MR::BooleanResult named operator->. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_AssignFromAnother()

MRC_API MR_BooleanResult * MR_BooleanResult_AssignFromAnother ( MR_BooleanResult * _this,
MR_PassBy _other_pass_by,
MR_BooleanResult * _other )

Generated from a method of class MR::BooleanResult 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.

◆ MR_BooleanResult_ConstructFrom()

MRC_API MR_BooleanResult * MR_BooleanResult_ConstructFrom ( MR_PassBy mesh_pass_by,
MR_Mesh * mesh,
MR_PassBy meshABadContourFaces_pass_by,
MR_FaceBitSet * meshABadContourFaces,
MR_PassBy meshBBadContourFaces_pass_by,
MR_FaceBitSet * meshBBadContourFaces,
const char * errorString,
const char * errorString_end )

Constructs MR::BooleanResult elementwise. Parameter errorString can not be null. If errorString_end is null, then errorString is assumed to be null-terminated. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_BooleanResult_ConstructFromAnother()

MRC_API MR_BooleanResult * MR_BooleanResult_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_BooleanResult * _other )

Generated from a constructor of class MR::BooleanResult. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_BooleanResult_ConvertTo_bool()

MRC_API bool MR_BooleanResult_ConvertTo_bool ( const MR_BooleanResult * _this)

Generated from a conversion operator of class MR::BooleanResult to type bool. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_DefaultConstruct()

MRC_API MR_BooleanResult * MR_BooleanResult_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResult_Destroy() to free it when you're done using it.

◆ MR_BooleanResult_DefaultConstructArray()

MRC_API MR_BooleanResult * MR_BooleanResult_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_BooleanResult_DestroyArray(). Use MR_BooleanResult_OffsetMutablePtr() and MR_BooleanResult_OffsetPtr() to access the array elements.

◆ MR_BooleanResult_Destroy()

MRC_API void MR_BooleanResult_Destroy ( const MR_BooleanResult * _this)

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

◆ MR_BooleanResult_DestroyArray()

MRC_API void MR_BooleanResult_DestroyArray ( const MR_BooleanResult * _this)

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

◆ MR_BooleanResult_Get_errorString()

MRC_API const MR_std_string * MR_BooleanResult_Get_errorString ( const MR_BooleanResult * _this)

Holds error message, empty if boolean succeed Returns a pointer to a member variable of class MR::BooleanResult named errorString. 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.

◆ MR_BooleanResult_Get_mesh()

MRC_API const MR_Mesh * MR_BooleanResult_Get_mesh ( const MR_BooleanResult * _this)

Result mesh of boolean operation, if error occurred it would be empty Returns a pointer to a member variable of class MR::BooleanResult named mesh. 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.

◆ MR_BooleanResult_Get_meshABadContourFaces()

MRC_API const MR_FaceBitSet * MR_BooleanResult_Get_meshABadContourFaces ( const MR_BooleanResult * _this)

If input contours have intersections, this face bit set presents faces of mesh A on which contours intersect Returns a pointer to a member variable of class MR::BooleanResult named meshABadContourFaces. 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.

◆ MR_BooleanResult_Get_meshBBadContourFaces()

MRC_API const MR_FaceBitSet * MR_BooleanResult_Get_meshBBadContourFaces ( const MR_BooleanResult * _this)

If input contours have intersections, this face bit set presents faces of mesh B on which contours intersect Returns a pointer to a member variable of class MR::BooleanResult named meshBBadContourFaces. 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.

◆ MR_BooleanResult_GetMutable_errorString()

MRC_API MR_std_string * MR_BooleanResult_GetMutable_errorString ( MR_BooleanResult * _this)

Holds error message, empty if boolean succeed Returns a mutable pointer to a member variable of class MR::BooleanResult named errorString. 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.

◆ MR_BooleanResult_GetMutable_mesh()

MRC_API MR_Mesh * MR_BooleanResult_GetMutable_mesh ( MR_BooleanResult * _this)

Result mesh of boolean operation, if error occurred it would be empty Returns a mutable pointer to a member variable of class MR::BooleanResult named mesh. 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.

◆ MR_BooleanResult_GetMutable_meshABadContourFaces()

MRC_API MR_FaceBitSet * MR_BooleanResult_GetMutable_meshABadContourFaces ( MR_BooleanResult * _this)

If input contours have intersections, this face bit set presents faces of mesh A on which contours intersect Returns a mutable pointer to a member variable of class MR::BooleanResult named meshABadContourFaces. 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.

◆ MR_BooleanResult_GetMutable_meshBBadContourFaces()

MRC_API MR_FaceBitSet * MR_BooleanResult_GetMutable_meshBBadContourFaces ( MR_BooleanResult * _this)

If input contours have intersections, this face bit set presents faces of mesh B on which contours intersect Returns a mutable pointer to a member variable of class MR::BooleanResult named meshBBadContourFaces. 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.

◆ MR_BooleanResult_OffsetMutablePtr()

MRC_API MR_BooleanResult * MR_BooleanResult_OffsetMutablePtr ( MR_BooleanResult * 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.

◆ MR_BooleanResult_OffsetPtr()

MRC_API const MR_BooleanResult * MR_BooleanResult_OffsetPtr ( const MR_BooleanResult * 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.

◆ MR_BooleanResult_Set_errorString()

MRC_API void MR_BooleanResult_Set_errorString ( MR_BooleanResult * _this,
const char * value,
const char * value_end )

Holds error message, empty if boolean succeed Modifies a member variable of class MR::BooleanResult named errorString. 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.

◆ MR_BooleanResult_Set_mesh()

MRC_API void MR_BooleanResult_Set_mesh ( MR_BooleanResult * _this,
MR_PassBy value_pass_by,
MR_Mesh * value )

Result mesh of boolean operation, if error occurred it would be empty Modifies a member variable of class MR::BooleanResult named mesh. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_Set_meshABadContourFaces()

MRC_API void MR_BooleanResult_Set_meshABadContourFaces ( MR_BooleanResult * _this,
MR_PassBy value_pass_by,
MR_FaceBitSet * value )

If input contours have intersections, this face bit set presents faces of mesh A on which contours intersect Modifies a member variable of class MR::BooleanResult named meshABadContourFaces. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_Set_meshBBadContourFaces()

MRC_API void MR_BooleanResult_Set_meshBBadContourFaces ( MR_BooleanResult * _this,
MR_PassBy value_pass_by,
MR_FaceBitSet * value )

If input contours have intersections, this face bit set presents faces of mesh B on which contours intersect Modifies a member variable of class MR::BooleanResult named meshBBadContourFaces. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResult_valid()

MRC_API bool MR_BooleanResult_valid ( const MR_BooleanResult * _this)

Returns true if boolean succeed, false otherwise Generated from a method of class MR::BooleanResult named valid. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResultPoints_AssignFromAnother()

MRC_API MR_BooleanResultPoints * MR_BooleanResultPoints_AssignFromAnother ( MR_BooleanResultPoints * _this,
MR_PassBy _other_pass_by,
MR_BooleanResultPoints * _other )

Generated from a method of class MR::BooleanResultPoints 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.

◆ MR_BooleanResultPoints_ConstructFrom()

MRC_API MR_BooleanResultPoints * MR_BooleanResultPoints_ConstructFrom ( MR_PassBy meshAVerts_pass_by,
MR_VertBitSet * meshAVerts,
MR_PassBy meshBVerts_pass_by,
MR_VertBitSet * meshBVerts,
MR_PassBy intersectionPoints_pass_by,
MR_std_vector_MR_Vector3f * intersectionPoints )

Constructs MR::BooleanResultPoints elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResultPoints_Destroy() to free it when you're done using it.

◆ MR_BooleanResultPoints_ConstructFromAnother()

MRC_API MR_BooleanResultPoints * MR_BooleanResultPoints_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_BooleanResultPoints * _other )

Generated from a constructor of class MR::BooleanResultPoints. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResultPoints_Destroy() to free it when you're done using it.

◆ MR_BooleanResultPoints_DefaultConstruct()

MRC_API MR_BooleanResultPoints * MR_BooleanResultPoints_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_BooleanResultPoints_Destroy() to free it when you're done using it.

◆ MR_BooleanResultPoints_DefaultConstructArray()

MRC_API MR_BooleanResultPoints * MR_BooleanResultPoints_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_BooleanResultPoints_DestroyArray(). Use MR_BooleanResultPoints_OffsetMutablePtr() and MR_BooleanResultPoints_OffsetPtr() to access the array elements.

◆ MR_BooleanResultPoints_Destroy()

MRC_API void MR_BooleanResultPoints_Destroy ( const MR_BooleanResultPoints * _this)

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

◆ MR_BooleanResultPoints_DestroyArray()

MRC_API void MR_BooleanResultPoints_DestroyArray ( const MR_BooleanResultPoints * _this)

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

◆ MR_BooleanResultPoints_Get_intersectionPoints()

MRC_API const MR_std_vector_MR_Vector3f * MR_BooleanResultPoints_Get_intersectionPoints ( const MR_BooleanResultPoints * _this)

Returns a pointer to a member variable of class MR::BooleanResultPoints named intersectionPoints. 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.

◆ MR_BooleanResultPoints_Get_meshAVerts()

MRC_API const MR_VertBitSet * MR_BooleanResultPoints_Get_meshAVerts ( const MR_BooleanResultPoints * _this)

Returns a pointer to a member variable of class MR::BooleanResultPoints named meshAVerts. 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.

◆ MR_BooleanResultPoints_Get_meshBVerts()

MRC_API const MR_VertBitSet * MR_BooleanResultPoints_Get_meshBVerts ( const MR_BooleanResultPoints * _this)

Returns a pointer to a member variable of class MR::BooleanResultPoints named meshBVerts. 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.

◆ MR_BooleanResultPoints_GetMutable_intersectionPoints()

MRC_API MR_std_vector_MR_Vector3f * MR_BooleanResultPoints_GetMutable_intersectionPoints ( MR_BooleanResultPoints * _this)

Returns a mutable pointer to a member variable of class MR::BooleanResultPoints named intersectionPoints. 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.

◆ MR_BooleanResultPoints_GetMutable_meshAVerts()

MRC_API MR_VertBitSet * MR_BooleanResultPoints_GetMutable_meshAVerts ( MR_BooleanResultPoints * _this)

Returns a mutable pointer to a member variable of class MR::BooleanResultPoints named meshAVerts. 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.

◆ MR_BooleanResultPoints_GetMutable_meshBVerts()

MRC_API MR_VertBitSet * MR_BooleanResultPoints_GetMutable_meshBVerts ( MR_BooleanResultPoints * _this)

Returns a mutable pointer to a member variable of class MR::BooleanResultPoints named meshBVerts. 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.

◆ MR_BooleanResultPoints_OffsetMutablePtr()

MRC_API MR_BooleanResultPoints * MR_BooleanResultPoints_OffsetMutablePtr ( MR_BooleanResultPoints * 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.

◆ MR_BooleanResultPoints_OffsetPtr()

MRC_API const MR_BooleanResultPoints * MR_BooleanResultPoints_OffsetPtr ( const MR_BooleanResultPoints * 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.

◆ MR_BooleanResultPoints_Set_intersectionPoints()

MRC_API void MR_BooleanResultPoints_Set_intersectionPoints ( MR_BooleanResultPoints * _this,
MR_PassBy value_pass_by,
MR_std_vector_MR_Vector3f * value )

Modifies a member variable of class MR::BooleanResultPoints named intersectionPoints. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResultPoints_Set_meshAVerts()

MRC_API void MR_BooleanResultPoints_Set_meshAVerts ( MR_BooleanResultPoints * _this,
MR_PassBy value_pass_by,
MR_VertBitSet * value )

Modifies a member variable of class MR::BooleanResultPoints named meshAVerts. Parameter _this can not be null. It is a single object.

◆ MR_BooleanResultPoints_Set_meshBVerts()

MRC_API void MR_BooleanResultPoints_Set_meshBVerts ( MR_BooleanResultPoints * _this,
MR_PassBy value_pass_by,
MR_VertBitSet * value )

Modifies a member variable of class MR::BooleanResultPoints named meshBVerts. Parameter _this can not be null. It is a single object.

◆ MR_convertIntFloatAllVerts()

MRC_API void MR_convertIntFloatAllVerts ( MR_Mesh * mesh,
const MR_CoordinateConverters * conv )

converts all vertices of the mesh first in integer-coordinates, and then back in float-coordinates; this is necessary to avoid small self-intersections near newly introduced vertices on cut-contours; this actually sligntly moves only small perentage of vertices near x=0 or y=0 or z=0 planes, where float-precision is higher than int-precision; newly introduced vertices on cut-contours are also converted, but we expected that they remain unchanged due to idempotent property of the conversion Generated from function MR::convertIntFloatAllVerts. Parameter mesh can not be null. It is a single object. Parameter conv can not be null. It is a single object.

◆ MR_deref_const_MR_BooleanResult_ref()

MRC_API const MR_Mesh * MR_deref_const_MR_BooleanResult_ref ( const MR_BooleanResult * _this)

Generated from a method of class MR::BooleanResult 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.

◆ MR_deref_MR_BooleanResult_ref()

MRC_API MR_Mesh * MR_deref_MR_BooleanResult_ref ( MR_BooleanResult * _this)

Generated from a method of class MR::BooleanResult 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.

◆ MR_findIntersectionContours()

MRC_API MR_std_vector_std_vector_MR_Vector3f * MR_findIntersectionContours ( const MR_Mesh * meshA,
const MR_Mesh * meshB,
const MR_AffineXf3f * rigidB2A )

returns intersection contours of given meshes Generated from function MR::findIntersectionContours. Parameter meshA can not be null. It is a single object. Parameter meshB can not be null. It is a single object. Parameter rigidB2A defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_std_vector_MR_Vector3f_Destroy() to free it when you're done using it.

◆ MR_getBooleanPoints()

MRC_API MR_expected_MR_BooleanResultPoints_std_string * MR_getBooleanPoints ( const MR_Mesh * meshA,
const MR_Mesh * meshB,
MR_BooleanOperation operation,
const MR_AffineXf3f * rigidB2A )

Returns the points of mesh boolean's result mesh.

Returns vertices and intersection points of mesh that is result of boolean operation of mesh A and mesh B. Can be used as fast alternative for cases where the mesh topology can be ignored (bounding box, convex hull, etc.)

Parameters
meshAInput mesh A
meshBInput mesh B
operationBoolean operation to perform
rigidB2ATransform from mesh B space to mesh A space Generated from function MR::getBooleanPoints. Parameter meshA can not be null. It is a single object. Parameter meshB can not be null. It is a single object. Parameter rigidB2A defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_BooleanResultPoints_std_string_Destroy() to free it when you're done using it.

◆ MR_selfBoolean()

MRC_API MR_expected_MR_Mesh_std_string * MR_selfBoolean ( const MR_Mesh * mesh)

performs boolean operation on mesh with itself, cutting simple intersections contours and flipping their connectivity this function is experimental and likely to change signature and/or behavior in future Generated from function MR::selfBoolean. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_Mesh_std_string_Destroy() to free it when you're done using it.