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

Go to the source code of this file.

Typedefs

typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_ObjectMesh MR_ObjectMesh
 
typedef struct MR_TransformedMesh MR_TransformedMesh
 
typedef struct MR_MeshMeshConverter MR_MeshMeshConverter
 

Functions

MRC_API const MR_MeshMR_TransformedMesh_Get_mesh (const MR_TransformedMesh *_this)
 
MRC_API void MR_TransformedMesh_Set_mesh (MR_TransformedMesh *_this, MR_PassBy value_pass_by, MR_Mesh *value)
 
MRC_API MR_MeshMR_TransformedMesh_GetMutable_mesh (MR_TransformedMesh *_this)
 
MRC_API const MR_AffineXf3fMR_TransformedMesh_Get_xf (const MR_TransformedMesh *_this)
 
MRC_API void MR_TransformedMesh_Set_xf (MR_TransformedMesh *_this, MR_AffineXf3f value)
 
MRC_API MR_AffineXf3fMR_TransformedMesh_GetMutable_xf (MR_TransformedMesh *_this)
 
MRC_API MR_TransformedMeshMR_TransformedMesh_DefaultConstruct (void)
 
MRC_API MR_TransformedMeshMR_TransformedMesh_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_TransformedMeshMR_TransformedMesh_OffsetPtr (const MR_TransformedMesh *ptr, ptrdiff_t i)
 
MRC_API MR_TransformedMeshMR_TransformedMesh_OffsetMutablePtr (MR_TransformedMesh *ptr, ptrdiff_t i)
 
MRC_API MR_TransformedMeshMR_TransformedMesh_ConstructFromAnother (MR_PassBy _other_pass_by, MR_TransformedMesh *_other)
 
MRC_API MR_TransformedMeshMR_TransformedMesh_Construct (MR_PassBy mesh_pass_by, MR_Mesh *mesh, const MR_AffineXf3f *xf)
 
MRC_API void MR_TransformedMesh_Destroy (const MR_TransformedMesh *_this)
 Destroys a heap-allocated instance of MR_TransformedMesh. Does nothing if the pointer is null.
 
MRC_API void MR_TransformedMesh_DestroyArray (const MR_TransformedMesh *_this)
 Destroys a heap-allocated array of MR_TransformedMesh. Does nothing if the pointer is null.
 
MRC_API MR_TransformedMeshMR_TransformedMesh_AssignFromAnother (MR_TransformedMesh *_this, MR_PassBy _other_pass_by, MR_TransformedMesh *_other)
 
MRC_API MR_MeshMeshConverterMR_MeshMeshConverter_DefaultConstruct (void)
 
MRC_API MR_MeshMeshConverterMR_MeshMeshConverter_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_MeshMeshConverterMR_MeshMeshConverter_OffsetPtr (const MR_MeshMeshConverter *ptr, ptrdiff_t i)
 
MRC_API MR_MeshMeshConverterMR_MeshMeshConverter_OffsetMutablePtr (MR_MeshMeshConverter *ptr, ptrdiff_t i)
 
MRC_API MR_MeshMeshConverterMR_MeshMeshConverter_ConstructFromAnother (const MR_MeshMeshConverter *_other)
 
MRC_API void MR_MeshMeshConverter_Destroy (const MR_MeshMeshConverter *_this)
 Destroys a heap-allocated instance of MR_MeshMeshConverter. Does nothing if the pointer is null.
 
MRC_API void MR_MeshMeshConverter_DestroyArray (const MR_MeshMeshConverter *_this)
 Destroys a heap-allocated array of MR_MeshMeshConverter. Does nothing if the pointer is null.
 
MRC_API MR_MeshMeshConverterMR_MeshMeshConverter_AssignFromAnother (MR_MeshMeshConverter *_this, const MR_MeshMeshConverter *_other)
 
MRC_API MR_TransformedMeshMR_MeshMeshConverter_call_2 (const MR_MeshMeshConverter *_this, MR_PassBy mesh_pass_by, MR_Mesh *mesh, const MR_AffineXf3f *xf)
 
MRC_API MR_TransformedMeshMR_MeshMeshConverter_call_1_const_MR_ObjectMesh_ref (const MR_MeshMeshConverter *_this, const MR_ObjectMesh *obj)
 
MRC_API const MR_MeshMR_MeshMeshConverter_call_1_const_MR_TransformedMesh_ref (const MR_MeshMeshConverter *_this, const MR_TransformedMesh *xm)
 
MRC_API MR_MeshMR_MeshMeshConverter_call_1_MR_TransformedMesh_rvalue_ref (const MR_MeshMeshConverter *_this, MR_TransformedMesh *xm)
 
MRC_API MR_TransformedMeshMR_add_assign_MR_TransformedMesh (MR_TransformedMesh *a, const MR_TransformedMesh *b)
 
MRC_API MR_TransformedMeshMR_sub_assign_MR_TransformedMesh (MR_TransformedMesh *a, const MR_TransformedMesh *b)
 
MRC_API MR_TransformedMeshMR_mul_assign_MR_TransformedMesh (MR_TransformedMesh *a, const MR_TransformedMesh *b)
 

Typedef Documentation

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshMeshConverter

the purpose of this class is to be a replacement for MeshVoxelsConverter in case one wants to quickly assess the change from voxel-based to mesh-based boolean Generated from class MR::MeshMeshConverter. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_ObjectMesh

typedef struct MR_ObjectMesh MR_ObjectMesh

◆ MR_TransformedMesh

just stores a mesh and its transformation to some fixed reference frame Generated from class MR::TransformedMesh. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

Function Documentation

◆ MR_add_assign_MR_TransformedMesh()

MRC_API MR_TransformedMesh * MR_add_assign_MR_TransformedMesh ( MR_TransformedMesh * a,
const MR_TransformedMesh * b )

union operation on two meshes Generated from function MR::operator+=. Parameter a can not be null. It is a single object. Parameter b 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_MeshMeshConverter_AssignFromAnother()

MRC_API MR_MeshMeshConverter * MR_MeshMeshConverter_AssignFromAnother ( MR_MeshMeshConverter * _this,
const MR_MeshMeshConverter * _other )

Generated from method MR::MeshMeshConverter::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_MeshMeshConverter_call_1_const_MR_ObjectMesh_ref()

MRC_API MR_TransformedMesh * MR_MeshMeshConverter_call_1_const_MR_ObjectMesh_ref ( const MR_MeshMeshConverter * _this,
const MR_ObjectMesh * obj )

Generated from method MR::MeshMeshConverter::operator(). Parameter _this can not be null. It is a single object. Parameter obj can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_TransformedMesh_Destroy() to free it when you're done using it.

◆ MR_MeshMeshConverter_call_1_const_MR_TransformedMesh_ref()

MRC_API const MR_Mesh * MR_MeshMeshConverter_call_1_const_MR_TransformedMesh_ref ( const MR_MeshMeshConverter * _this,
const MR_TransformedMesh * xm )

Generated from method MR::MeshMeshConverter::operator(). Parameter _this can not be null. It is a single object. Parameter xm 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_MeshMeshConverter_call_1_MR_TransformedMesh_rvalue_ref()

MRC_API MR_Mesh * MR_MeshMeshConverter_call_1_MR_TransformedMesh_rvalue_ref ( const MR_MeshMeshConverter * _this,
MR_TransformedMesh * xm )

Generated from method MR::MeshMeshConverter::operator(). Parameter _this can not be null. It is a single object. Parameter xm 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. The returned pointer will never be null. It is non-owning, do NOT destroy it. In C++ returns an rvalue reference.

◆ MR_MeshMeshConverter_call_2()

MRC_API MR_TransformedMesh * MR_MeshMeshConverter_call_2 ( const MR_MeshMeshConverter * _this,
MR_PassBy mesh_pass_by,
MR_Mesh * mesh,
const MR_AffineXf3f * xf )

Generated from method MR::MeshMeshConverter::operator(). Parameter _this can not be null. It is a single object. Parameter xf is a single object. Parameter xf has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_TransformedMesh_Destroy() to free it when you're done using it.

◆ MR_MeshMeshConverter_ConstructFromAnother()

MRC_API MR_MeshMeshConverter * MR_MeshMeshConverter_ConstructFromAnother ( const MR_MeshMeshConverter * _other)

Generated from constructor MR::MeshMeshConverter::MeshMeshConverter. Parameter _other can not be null. It is a single object. 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_MeshMeshConverter_Destroy() to free it when you're done using it.

◆ MR_MeshMeshConverter_DefaultConstruct()

MRC_API MR_MeshMeshConverter * MR_MeshMeshConverter_DefaultConstruct ( void )

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

◆ MR_MeshMeshConverter_DefaultConstructArray()

MRC_API MR_MeshMeshConverter * MR_MeshMeshConverter_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_MeshMeshConverter_DestroyArray(). Use MR_MeshMeshConverter_OffsetMutablePtr() and MR_MeshMeshConverter_OffsetPtr() to access the array elements.

◆ MR_MeshMeshConverter_Destroy()

MRC_API void MR_MeshMeshConverter_Destroy ( const MR_MeshMeshConverter * _this)

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

◆ MR_MeshMeshConverter_DestroyArray()

MRC_API void MR_MeshMeshConverter_DestroyArray ( const MR_MeshMeshConverter * _this)

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

◆ MR_MeshMeshConverter_OffsetMutablePtr()

MRC_API MR_MeshMeshConverter * MR_MeshMeshConverter_OffsetMutablePtr ( MR_MeshMeshConverter * 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_MeshMeshConverter_OffsetPtr()

MRC_API const MR_MeshMeshConverter * MR_MeshMeshConverter_OffsetPtr ( const MR_MeshMeshConverter * 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_mul_assign_MR_TransformedMesh()

MRC_API MR_TransformedMesh * MR_mul_assign_MR_TransformedMesh ( MR_TransformedMesh * a,
const MR_TransformedMesh * b )

intersection operation on two meshes Generated from function MR::operator*=. Parameter a can not be null. It is a single object. Parameter b 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_sub_assign_MR_TransformedMesh()

MRC_API MR_TransformedMesh * MR_sub_assign_MR_TransformedMesh ( MR_TransformedMesh * a,
const MR_TransformedMesh * b )

difference operation on two meshes Generated from function MR::operator-=. Parameter a can not be null. It is a single object. Parameter b 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_TransformedMesh_AssignFromAnother()

MRC_API MR_TransformedMesh * MR_TransformedMesh_AssignFromAnother ( MR_TransformedMesh * _this,
MR_PassBy _other_pass_by,
MR_TransformedMesh * _other )

Generated from method MR::TransformedMesh::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_TransformedMesh_Construct()

MRC_API MR_TransformedMesh * MR_TransformedMesh_Construct ( MR_PassBy mesh_pass_by,
MR_Mesh * mesh,
const MR_AffineXf3f * xf )

Generated from constructor MR::TransformedMesh::TransformedMesh. The reference to the parameter mesh might be preserved in the constructed object. Parameter xf is a single object. Parameter xf has a default argument: {}, pass a null pointer to use it. The reference to the parameter xf might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_TransformedMesh_Destroy() to free it when you're done using it.

◆ MR_TransformedMesh_ConstructFromAnother()

MRC_API MR_TransformedMesh * MR_TransformedMesh_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_TransformedMesh * _other )

Generated from constructor MR::TransformedMesh::TransformedMesh. 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_TransformedMesh_Destroy() to free it when you're done using it.

◆ MR_TransformedMesh_DefaultConstruct()

MRC_API MR_TransformedMesh * MR_TransformedMesh_DefaultConstruct ( void )

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

◆ MR_TransformedMesh_DefaultConstructArray()

MRC_API MR_TransformedMesh * MR_TransformedMesh_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_TransformedMesh_DestroyArray(). Use MR_TransformedMesh_OffsetMutablePtr() and MR_TransformedMesh_OffsetPtr() to access the array elements.

◆ MR_TransformedMesh_Destroy()

MRC_API void MR_TransformedMesh_Destroy ( const MR_TransformedMesh * _this)

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

◆ MR_TransformedMesh_DestroyArray()

MRC_API void MR_TransformedMesh_DestroyArray ( const MR_TransformedMesh * _this)

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

◆ MR_TransformedMesh_Get_mesh()

MRC_API const MR_Mesh * MR_TransformedMesh_Get_mesh ( const MR_TransformedMesh * _this)

Returns a pointer to a member variable of class MR::TransformedMesh 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_TransformedMesh_Get_xf()

MRC_API const MR_AffineXf3f * MR_TransformedMesh_Get_xf ( const MR_TransformedMesh * _this)

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

◆ MR_TransformedMesh_GetMutable_mesh()

MRC_API MR_Mesh * MR_TransformedMesh_GetMutable_mesh ( MR_TransformedMesh * _this)

Returns a mutable pointer to a member variable of class MR::TransformedMesh 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_TransformedMesh_GetMutable_xf()

MRC_API MR_AffineXf3f * MR_TransformedMesh_GetMutable_xf ( MR_TransformedMesh * _this)

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

◆ MR_TransformedMesh_OffsetMutablePtr()

MRC_API MR_TransformedMesh * MR_TransformedMesh_OffsetMutablePtr ( MR_TransformedMesh * 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_TransformedMesh_OffsetPtr()

MRC_API const MR_TransformedMesh * MR_TransformedMesh_OffsetPtr ( const MR_TransformedMesh * 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_TransformedMesh_Set_mesh()

MRC_API void MR_TransformedMesh_Set_mesh ( MR_TransformedMesh * _this,
MR_PassBy value_pass_by,
MR_Mesh * value )

Modifies a member variable of class MR::TransformedMesh named mesh. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element mesh. When this function is called, this object will drop object references it had previously in mesh.

◆ MR_TransformedMesh_Set_xf()

MRC_API void MR_TransformedMesh_Set_xf ( MR_TransformedMesh * _this,
MR_AffineXf3f value )

Modifies a member variable of class MR::TransformedMesh named xf. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element xf. When this function is called, this object will drop object references it had previously in xf.