MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshFillHole.h File Reference
#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_FaceBitSet MR_FaceBitSet
 
typedef struct MR_FillHoleMetric MR_FillHoleMetric
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_MeshTopology MR_MeshTopology
 
typedef struct MR_Plane3f MR_Plane3f
 
typedef struct MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref
 
typedef struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId
 
typedef struct MR_std_vector_MR_FillHoleItem MR_std_vector_MR_FillHoleItem
 
typedef struct MR_std_vector_MR_HoleFillPlan MR_std_vector_MR_HoleFillPlan
 
typedef struct MR_FillHoleParams MR_FillHoleParams
 Generated from class MR::FillHoleParams.
 
typedef int32_t MR_FillHoleParams_MultipleEdgesResolveMode
 
typedef struct MR_StitchHolesParams MR_StitchHolesParams
 Generated from class MR::StitchHolesParams.
 
typedef struct MR_FillHoleItem MR_FillHoleItem
 Generated from class MR::FillHoleItem.
 
typedef struct MR_HoleFillPlan MR_HoleFillPlan
 
typedef struct MR_MakeBridgeResult MR_MakeBridgeResult
 Generated from class MR::MakeBridgeResult.
 

Enumerations

enum  { MR_FillHoleParams_MultipleEdgesResolveMode_None = 0 , MR_FillHoleParams_MultipleEdgesResolveMode_Simple = 1 , MR_FillHoleParams_MultipleEdgesResolveMode_Strong = 2 }
 

Functions

MRC_API const MR_FillHoleMetricMR_FillHoleParams_Get_metric (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_metric (MR_FillHoleParams *_this, MR_PassBy value_pass_by, MR_FillHoleMetric *value)
 
MRC_API MR_FillHoleMetricMR_FillHoleParams_GetMutable_metric (MR_FillHoleParams *_this)
 
MRC_API const bool * MR_FillHoleParams_Get_smoothBd (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_smoothBd (MR_FillHoleParams *_this, bool value)
 
MRC_API bool * MR_FillHoleParams_GetMutable_smoothBd (MR_FillHoleParams *_this)
 
MRC_API MR_FaceBitSet *const * MR_FillHoleParams_Get_outNewFaces (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_outNewFaces (MR_FillHoleParams *_this, MR_FaceBitSet *value)
 
MRC_API MR_FaceBitSet ** MR_FillHoleParams_GetMutable_outNewFaces (MR_FillHoleParams *_this)
 
MRC_API const MR_FillHoleParams_MultipleEdgesResolveModeMR_FillHoleParams_Get_multipleEdgesResolveMode (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_multipleEdgesResolveMode (MR_FillHoleParams *_this, MR_FillHoleParams_MultipleEdgesResolveMode value)
 
MRC_API MR_FillHoleParams_MultipleEdgesResolveModeMR_FillHoleParams_GetMutable_multipleEdgesResolveMode (MR_FillHoleParams *_this)
 
MRC_API const bool * MR_FillHoleParams_Get_makeDegenerateBand (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_makeDegenerateBand (MR_FillHoleParams *_this, bool value)
 
MRC_API bool * MR_FillHoleParams_GetMutable_makeDegenerateBand (MR_FillHoleParams *_this)
 
MRC_API const int32_t * MR_FillHoleParams_Get_maxPolygonSubdivisions (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_maxPolygonSubdivisions (MR_FillHoleParams *_this, int32_t value)
 
MRC_API int32_t * MR_FillHoleParams_GetMutable_maxPolygonSubdivisions (MR_FillHoleParams *_this)
 
MRC_API bool *const * MR_FillHoleParams_Get_stopBeforeBadTriangulation (const MR_FillHoleParams *_this)
 
MRC_API void MR_FillHoleParams_Set_stopBeforeBadTriangulation (MR_FillHoleParams *_this, bool *value)
 
MRC_API bool ** MR_FillHoleParams_GetMutable_stopBeforeBadTriangulation (MR_FillHoleParams *_this)
 
MRC_API MR_FillHoleParamsMR_FillHoleParams_DefaultConstruct (void)
 
MRC_API MR_FillHoleParamsMR_FillHoleParams_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_FillHoleParamsMR_FillHoleParams_ConstructFrom (MR_PassBy metric_pass_by, MR_FillHoleMetric *metric, bool smoothBd, MR_FaceBitSet *outNewFaces, MR_FillHoleParams_MultipleEdgesResolveMode multipleEdgesResolveMode, bool makeDegenerateBand, int32_t maxPolygonSubdivisions, bool *stopBeforeBadTriangulation)
 
MRC_API const MR_FillHoleParamsMR_FillHoleParams_OffsetPtr (const MR_FillHoleParams *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_FillHoleParamsMR_FillHoleParams_OffsetMutablePtr (MR_FillHoleParams *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_FillHoleParamsMR_FillHoleParams_ConstructFromAnother (MR_PassBy _other_pass_by, MR_FillHoleParams *_other)
 
MRC_API void MR_FillHoleParams_Destroy (const MR_FillHoleParams *_this)
 Destroys a heap-allocated instance of MR_FillHoleParams. Does nothing if the pointer is null.
 
MRC_API void MR_FillHoleParams_DestroyArray (const MR_FillHoleParams *_this)
 Destroys a heap-allocated array of MR_FillHoleParams. Does nothing if the pointer is null.
 
MRC_API MR_FillHoleParamsMR_FillHoleParams_AssignFromAnother (MR_FillHoleParams *_this, MR_PassBy _other_pass_by, MR_FillHoleParams *_other)
 
MRC_API const MR_FillHoleMetricMR_StitchHolesParams_Get_metric (const MR_StitchHolesParams *_this)
 
MRC_API void MR_StitchHolesParams_Set_metric (MR_StitchHolesParams *_this, MR_PassBy value_pass_by, MR_FillHoleMetric *value)
 
MRC_API MR_FillHoleMetricMR_StitchHolesParams_GetMutable_metric (MR_StitchHolesParams *_this)
 
MRC_API MR_FaceBitSet *const * MR_StitchHolesParams_Get_outNewFaces (const MR_StitchHolesParams *_this)
 
MRC_API void MR_StitchHolesParams_Set_outNewFaces (MR_StitchHolesParams *_this, MR_FaceBitSet *value)
 
MRC_API MR_FaceBitSet ** MR_StitchHolesParams_GetMutable_outNewFaces (MR_StitchHolesParams *_this)
 
MRC_API MR_StitchHolesParamsMR_StitchHolesParams_DefaultConstruct (void)
 
MRC_API MR_StitchHolesParamsMR_StitchHolesParams_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_StitchHolesParamsMR_StitchHolesParams_ConstructFrom (MR_PassBy metric_pass_by, MR_FillHoleMetric *metric, MR_FaceBitSet *outNewFaces)
 
MRC_API const MR_StitchHolesParamsMR_StitchHolesParams_OffsetPtr (const MR_StitchHolesParams *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_StitchHolesParamsMR_StitchHolesParams_OffsetMutablePtr (MR_StitchHolesParams *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_StitchHolesParamsMR_StitchHolesParams_ConstructFromAnother (MR_PassBy _other_pass_by, MR_StitchHolesParams *_other)
 
MRC_API void MR_StitchHolesParams_Destroy (const MR_StitchHolesParams *_this)
 Destroys a heap-allocated instance of MR_StitchHolesParams. Does nothing if the pointer is null.
 
MRC_API void MR_StitchHolesParams_DestroyArray (const MR_StitchHolesParams *_this)
 Destroys a heap-allocated array of MR_StitchHolesParams. Does nothing if the pointer is null.
 
MRC_API MR_StitchHolesParamsMR_StitchHolesParams_AssignFromAnother (MR_StitchHolesParams *_this, MR_PassBy _other_pass_by, MR_StitchHolesParams *_other)
 
MRC_API void MR_buildCylinderBetweenTwoHoles_4 (MR_Mesh *mesh, MR_EdgeId a, MR_EdgeId b, const MR_StitchHolesParams *params)
 Stitches two holes in Mesh
.
 
MRC_API bool MR_buildCylinderBetweenTwoHoles_2 (MR_Mesh *mesh, const MR_StitchHolesParams *params)
 
MRC_API void MR_fillHole (MR_Mesh *mesh, MR_EdgeId a, const MR_FillHoleParams *params)
 Fills hole in mesh
.
 
MRC_API void MR_fillHoles (MR_Mesh *mesh, const MR_std_vector_MR_EdgeId *as, const MR_FillHoleParams *params)
 
MRC_API bool MR_isHoleBd (const MR_MeshTopology *topology, const MR_std_vector_MR_EdgeId *loop)
 
MRC_API const int32_t * MR_FillHoleItem_Get_edgeCode1 (const MR_FillHoleItem *_this)
 
MRC_API void MR_FillHoleItem_Set_edgeCode1 (MR_FillHoleItem *_this, int32_t value)
 
MRC_API int32_t * MR_FillHoleItem_GetMutable_edgeCode1 (MR_FillHoleItem *_this)
 
MRC_API const int32_t * MR_FillHoleItem_Get_edgeCode2 (const MR_FillHoleItem *_this)
 
MRC_API void MR_FillHoleItem_Set_edgeCode2 (MR_FillHoleItem *_this, int32_t value)
 
MRC_API int32_t * MR_FillHoleItem_GetMutable_edgeCode2 (MR_FillHoleItem *_this)
 
MRC_API MR_FillHoleItemMR_FillHoleItem_DefaultConstruct (void)
 
MRC_API MR_FillHoleItemMR_FillHoleItem_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_FillHoleItemMR_FillHoleItem_ConstructFrom (int32_t edgeCode1, int32_t edgeCode2)
 
MRC_API const MR_FillHoleItemMR_FillHoleItem_OffsetPtr (const MR_FillHoleItem *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_FillHoleItemMR_FillHoleItem_OffsetMutablePtr (MR_FillHoleItem *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_FillHoleItemMR_FillHoleItem_ConstructFromAnother (const MR_FillHoleItem *_other)
 
MRC_API void MR_FillHoleItem_Destroy (const MR_FillHoleItem *_this)
 Destroys a heap-allocated instance of MR_FillHoleItem. Does nothing if the pointer is null.
 
MRC_API void MR_FillHoleItem_DestroyArray (const MR_FillHoleItem *_this)
 Destroys a heap-allocated array of MR_FillHoleItem. Does nothing if the pointer is null.
 
MRC_API MR_FillHoleItemMR_FillHoleItem_AssignFromAnother (MR_FillHoleItem *_this, const MR_FillHoleItem *_other)
 
MRC_API const MR_std_vector_MR_FillHoleItemMR_HoleFillPlan_Get_items (const MR_HoleFillPlan *_this)
 
MRC_API void MR_HoleFillPlan_Set_items (MR_HoleFillPlan *_this, MR_PassBy value_pass_by, MR_std_vector_MR_FillHoleItem *value)
 
MRC_API MR_std_vector_MR_FillHoleItemMR_HoleFillPlan_GetMutable_items (MR_HoleFillPlan *_this)
 
MRC_API const int32_t * MR_HoleFillPlan_Get_numTris (const MR_HoleFillPlan *_this)
 
MRC_API void MR_HoleFillPlan_Set_numTris (MR_HoleFillPlan *_this, int32_t value)
 
MRC_API int32_t * MR_HoleFillPlan_GetMutable_numTris (MR_HoleFillPlan *_this)
 
MRC_API MR_HoleFillPlanMR_HoleFillPlan_DefaultConstruct (void)
 
MRC_API MR_HoleFillPlanMR_HoleFillPlan_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_HoleFillPlanMR_HoleFillPlan_ConstructFrom (MR_PassBy items_pass_by, MR_std_vector_MR_FillHoleItem *items, int32_t numTris)
 
MRC_API const MR_HoleFillPlanMR_HoleFillPlan_OffsetPtr (const MR_HoleFillPlan *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_HoleFillPlanMR_HoleFillPlan_OffsetMutablePtr (MR_HoleFillPlan *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_HoleFillPlanMR_HoleFillPlan_ConstructFromAnother (MR_PassBy _other_pass_by, MR_HoleFillPlan *_other)
 
MRC_API void MR_HoleFillPlan_Destroy (const MR_HoleFillPlan *_this)
 Destroys a heap-allocated instance of MR_HoleFillPlan. Does nothing if the pointer is null.
 
MRC_API void MR_HoleFillPlan_DestroyArray (const MR_HoleFillPlan *_this)
 Destroys a heap-allocated array of MR_HoleFillPlan. Does nothing if the pointer is null.
 
MRC_API MR_HoleFillPlanMR_HoleFillPlan_AssignFromAnother (MR_HoleFillPlan *_this, MR_PassBy _other_pass_by, MR_HoleFillPlan *_other)
 
MRC_API MR_HoleFillPlanMR_getHoleFillPlan (const MR_Mesh *mesh, MR_EdgeId e, const MR_FillHoleParams *params)
 
MRC_API MR_std_vector_MR_HoleFillPlanMR_getHoleFillPlans (const MR_Mesh *mesh, const MR_std_vector_MR_EdgeId *holeRepresentativeEdges, const MR_FillHoleParams *params)
 
MRC_API MR_HoleFillPlanMR_getPlanarHoleFillPlan (const MR_Mesh *mesh, MR_EdgeId e)
 
MRC_API MR_std_vector_MR_HoleFillPlanMR_getPlanarHoleFillPlans (const MR_Mesh *mesh, const MR_std_vector_MR_EdgeId *holeRepresentativeEdges)
 
MRC_API void MR_executeHoleFillPlan (MR_Mesh *mesh, MR_EdgeId a0, MR_HoleFillPlan *plan, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_VertId MR_fillHoleTrivially (MR_Mesh *mesh, MR_EdgeId a, MR_FaceBitSet *outNewFaces)
 Triangulates face of hole in mesh trivially
.
 
MRC_API MR_EdgeId MR_extendHole_MR_Plane3f (MR_Mesh *mesh, MR_EdgeId a, const MR_Plane3f *plane, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_std_vector_MR_EdgeIdMR_extendAllHoles (MR_Mesh *mesh, const MR_Plane3f *plane, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_EdgeId MR_extendHole_std_function_MR_Vector3f_func_from_const_MR_Vector3f_ref (MR_Mesh *mesh, MR_EdgeId a, MR_PassBy getVertPos_pass_by, MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref *getVertPos, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_EdgeId MR_buildBottom (MR_Mesh *mesh, MR_EdgeId a, MR_Vector3f dir, float holeExtension, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_EdgeId MR_makeDegenerateBandAroundHole (MR_Mesh *mesh, MR_EdgeId a, MR_FaceBitSet *outNewFaces)
 
MRC_API const int32_t * MR_MakeBridgeResult_Get_newFaces (const MR_MakeBridgeResult *_this)
 
MRC_API void MR_MakeBridgeResult_Set_newFaces (MR_MakeBridgeResult *_this, int32_t value)
 
MRC_API int32_t * MR_MakeBridgeResult_GetMutable_newFaces (MR_MakeBridgeResult *_this)
 
MRC_API const MR_EdgeIdMR_MakeBridgeResult_Get_na (const MR_MakeBridgeResult *_this)
 
MRC_API void MR_MakeBridgeResult_Set_na (MR_MakeBridgeResult *_this, MR_EdgeId value)
 
MRC_API MR_EdgeIdMR_MakeBridgeResult_GetMutable_na (MR_MakeBridgeResult *_this)
 
MRC_API const MR_EdgeIdMR_MakeBridgeResult_Get_nb (const MR_MakeBridgeResult *_this)
 
MRC_API void MR_MakeBridgeResult_Set_nb (MR_MakeBridgeResult *_this, MR_EdgeId value)
 
MRC_API MR_EdgeIdMR_MakeBridgeResult_GetMutable_nb (MR_MakeBridgeResult *_this)
 
MRC_API MR_MakeBridgeResultMR_MakeBridgeResult_DefaultConstruct (void)
 
MRC_API MR_MakeBridgeResultMR_MakeBridgeResult_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_MakeBridgeResultMR_MakeBridgeResult_ConstructFrom (int32_t newFaces, MR_EdgeId na, MR_EdgeId nb)
 
MRC_API const MR_MakeBridgeResultMR_MakeBridgeResult_OffsetPtr (const MR_MakeBridgeResult *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_MakeBridgeResultMR_MakeBridgeResult_OffsetMutablePtr (MR_MakeBridgeResult *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_MakeBridgeResultMR_MakeBridgeResult_ConstructFromAnother (const MR_MakeBridgeResult *_other)
 
MRC_API void MR_MakeBridgeResult_Destroy (const MR_MakeBridgeResult *_this)
 Destroys a heap-allocated instance of MR_MakeBridgeResult. Does nothing if the pointer is null.
 
MRC_API void MR_MakeBridgeResult_DestroyArray (const MR_MakeBridgeResult *_this)
 Destroys a heap-allocated array of MR_MakeBridgeResult. Does nothing if the pointer is null.
 
MRC_API bool MR_MakeBridgeResult_ConvertTo_bool (const MR_MakeBridgeResult *_this)
 
MRC_API MR_MakeBridgeResultMR_MakeBridgeResult_AssignFromAnother (MR_MakeBridgeResult *_this, const MR_MakeBridgeResult *_other)
 
MRC_API MR_MakeBridgeResultMR_makeQuadBridge (MR_MeshTopology *topology, MR_EdgeId a, MR_EdgeId b, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_MakeBridgeResultMR_makeBridge (MR_MeshTopology *topology, MR_EdgeId a, MR_EdgeId b, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_MakeBridgeResultMR_makeSmoothBridge (MR_Mesh *mesh, MR_EdgeId a, MR_EdgeId b, float samplingStep, MR_FaceBitSet *outNewFaces)
 
MRC_API MR_EdgeId MR_makeBridgeEdge (MR_MeshTopology *topology, MR_EdgeId a, MR_EdgeId b)
 
MRC_API void MR_splitQuad (MR_MeshTopology *topology, MR_EdgeId a, MR_FaceBitSet *outNewFaces)
 

Typedef Documentation

◆ MR_FaceBitSet

typedef struct MR_FaceBitSet MR_FaceBitSet

◆ MR_FillHoleItem

Generated from class MR::FillHoleItem.

◆ MR_FillHoleMetric

◆ MR_FillHoleParams

Generated from class MR::FillHoleParams.

◆ MR_FillHoleParams_MultipleEdgesResolveMode

If Strong makes additional efforts to avoid creating multiple edges, in some rare cases it is not possible (cases with extremely bad topology), if you faced one try to use MR::duplicateMultiHoleVertices before MR::fillHole

If Simple avoid creating edges that already exist in topology (default)

If None do not avoid multiple edges

◆ MR_HoleFillPlan

concise representation of proposed hole triangulation Generated from class MR::HoleFillPlan.

◆ MR_MakeBridgeResult

Generated from class MR::MakeBridgeResult.

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshTopology

◆ MR_Plane3f

typedef struct MR_Plane3f MR_Plane3f

◆ MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref

◆ MR_std_vector_MR_EdgeId

◆ MR_std_vector_MR_FillHoleItem

◆ MR_std_vector_MR_HoleFillPlan

◆ MR_StitchHolesParams

Generated from class MR::StitchHolesParams.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MR_FillHoleParams_MultipleEdgesResolveMode_None 
MR_FillHoleParams_MultipleEdgesResolveMode_Simple 
MR_FillHoleParams_MultipleEdgesResolveMode_Strong 

Function Documentation

◆ MR_buildBottom()

MRC_API MR_EdgeId MR_buildBottom ( MR_Mesh * mesh,
MR_EdgeId a,
MR_Vector3f dir,
float holeExtension,
MR_FaceBitSet * outNewFaces )

adds cylindrical extension of given hole represented by one of its edges (having no valid left face) by adding new vertices located in lowest point of the hole -dir*holeExtension and 2 * number_of_hole_edge triangles;

Returns
the edge of new hole opposite to input edge (a) Generated from function MR::buildBottom. Parameter mesh can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_buildCylinderBetweenTwoHoles_2()

MRC_API bool MR_buildCylinderBetweenTwoHoles_2 ( MR_Mesh * mesh,
const MR_StitchHolesParams * params )

this version finds holes in the mesh by itself and returns false if they are not found Generated from function MR::buildCylinderBetweenTwoHoles. Parameter mesh 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.

◆ MR_buildCylinderBetweenTwoHoles_4()

MRC_API void MR_buildCylinderBetweenTwoHoles_4 ( MR_Mesh * mesh,
MR_EdgeId a,
MR_EdgeId b,
const MR_StitchHolesParams * params )

Stitches two holes in Mesh
.

Build cylindrical patch to fill space between two holes represented by one of their edges each,
default metric: ComplexStitchMetric

Before
After

Next picture show, how newly generated faces can be smoothed MR::positionVertsSmoothly MR::subdivideMesh

Stitch with smooth
Parameters
meshmesh with hole
aEdgeId which represents 1st hole (should not have valid left FaceId)
bEdgeId which represents 2nd hole (should not have valid left FaceId)
paramsparameters of holes stitching
See also
fillHole
StitchHolesParams Generated from function MR::buildCylinderBetweenTwoHoles. Parameter mesh 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.

◆ MR_executeHoleFillPlan()

MRC_API void MR_executeHoleFillPlan ( MR_Mesh * mesh,
MR_EdgeId a0,
MR_HoleFillPlan * plan,
MR_FaceBitSet * outNewFaces )

quickly triangulates the face or hole to the left of (e) given the plan (quickly compared to fillHole function) Generated from function MR::executeHoleFillPlan. Parameter mesh can not be null. It is a single object. Parameter plan can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_extendAllHoles()

MRC_API MR_std_vector_MR_EdgeId * MR_extendAllHoles ( MR_Mesh * mesh,
const MR_Plane3f * plane,
MR_FaceBitSet * outNewFaces )

adds cylindrical extension of too all holes of the mesh by calling extendHole(...);

Returns
representative edges of one per every hole after extension Generated from function MR::extendAllHoles. Parameter mesh can not be null. It is a single object. Parameter plane can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_EdgeId_Destroy() to free it when you're done using it.

◆ MR_extendHole_MR_Plane3f()

MRC_API MR_EdgeId MR_extendHole_MR_Plane3f ( MR_Mesh * mesh,
MR_EdgeId a,
const MR_Plane3f * plane,
MR_FaceBitSet * outNewFaces )

adds cylindrical extension of given hole represented by one of its edges (having no valid left face) by adding new vertices located in given plane and 2 * number_of_hole_edge triangles;

Returns
the edge of new hole opposite to input edge (a) Generated from function MR::extendHole. Parameter mesh can not be null. It is a single object. Parameter plane can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_extendHole_std_function_MR_Vector3f_func_from_const_MR_Vector3f_ref()

MRC_API MR_EdgeId MR_extendHole_std_function_MR_Vector3f_func_from_const_MR_Vector3f_ref ( MR_Mesh * mesh,
MR_EdgeId a,
MR_PassBy getVertPos_pass_by,
MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref * getVertPos,
MR_FaceBitSet * outNewFaces )

adds extension of given hole represented by one of its edges (having no valid left face) by adding new vertices located at getVertPos( existing vertex position );

Returns
the edge of new hole opposite to input edge (a) Generated from function MR::extendHole. Parameter mesh can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_fillHole()

MRC_API void MR_fillHole ( MR_Mesh * mesh,
MR_EdgeId a,
const MR_FillHoleParams * params )

Fills hole in mesh
.

Fills given hole represented by one of its edges (having no valid left face),
uses fillHoleTrivially if cannot fill hole without multiple edges,
default metric: CircumscribedFillMetric

Before
After

Next picture show, how newly generated faces can be smoothed MR::positionVertsSmoothly MR::subdivideMesh

Fill with smooth
Parameters
meshmesh with hole
aEdgeId which represents hole (should not have valid left FaceId)
paramsparameters of hole filling
See also
buildCylinderBetweenTwoHoles
fillHoleTrivially
FillHoleParams Generated from function MR::fillHole. Parameter mesh 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.

◆ MR_FillHoleItem_AssignFromAnother()

MRC_API MR_FillHoleItem * MR_FillHoleItem_AssignFromAnother ( MR_FillHoleItem * _this,
const MR_FillHoleItem * _other )

Generated from a method of class MR::FillHoleItem named operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_FillHoleItem_ConstructFrom()

MRC_API MR_FillHoleItem * MR_FillHoleItem_ConstructFrom ( int32_t edgeCode1,
int32_t edgeCode2 )

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

◆ MR_FillHoleItem_ConstructFromAnother()

MRC_API MR_FillHoleItem * MR_FillHoleItem_ConstructFromAnother ( const MR_FillHoleItem * _other)

Generated from a constructor of class MR::FillHoleItem. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_FillHoleItem_Destroy() to free it when you're done using it.

◆ MR_FillHoleItem_DefaultConstruct()

MRC_API MR_FillHoleItem * MR_FillHoleItem_DefaultConstruct ( void )

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

◆ MR_FillHoleItem_DefaultConstructArray()

MRC_API MR_FillHoleItem * MR_FillHoleItem_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_FillHoleItem_DestroyArray(). Use MR_FillHoleItem_OffsetMutablePtr() and MR_FillHoleItem_OffsetPtr() to access the array elements.

◆ MR_FillHoleItem_Destroy()

MRC_API void MR_FillHoleItem_Destroy ( const MR_FillHoleItem * _this)

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

◆ MR_FillHoleItem_DestroyArray()

MRC_API void MR_FillHoleItem_DestroyArray ( const MR_FillHoleItem * _this)

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

◆ MR_FillHoleItem_Get_edgeCode1()

MRC_API const int32_t * MR_FillHoleItem_Get_edgeCode1 ( const MR_FillHoleItem * _this)

Returns a pointer to a member variable of class MR::FillHoleItem named edgeCode1. 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_FillHoleItem_Get_edgeCode2()

MRC_API const int32_t * MR_FillHoleItem_Get_edgeCode2 ( const MR_FillHoleItem * _this)

Returns a pointer to a member variable of class MR::FillHoleItem named edgeCode2. 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_FillHoleItem_GetMutable_edgeCode1()

MRC_API int32_t * MR_FillHoleItem_GetMutable_edgeCode1 ( MR_FillHoleItem * _this)

Returns a mutable pointer to a member variable of class MR::FillHoleItem named edgeCode1. 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_FillHoleItem_GetMutable_edgeCode2()

MRC_API int32_t * MR_FillHoleItem_GetMutable_edgeCode2 ( MR_FillHoleItem * _this)

Returns a mutable pointer to a member variable of class MR::FillHoleItem named edgeCode2. 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_FillHoleItem_OffsetMutablePtr()

MRC_API MR_FillHoleItem * MR_FillHoleItem_OffsetMutablePtr ( MR_FillHoleItem * 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_FillHoleItem_OffsetPtr()

MRC_API const MR_FillHoleItem * MR_FillHoleItem_OffsetPtr ( const MR_FillHoleItem * 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_FillHoleItem_Set_edgeCode1()

MRC_API void MR_FillHoleItem_Set_edgeCode1 ( MR_FillHoleItem * _this,
int32_t value )

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

◆ MR_FillHoleItem_Set_edgeCode2()

MRC_API void MR_FillHoleItem_Set_edgeCode2 ( MR_FillHoleItem * _this,
int32_t value )

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

◆ MR_FillHoleParams_AssignFromAnother()

MRC_API MR_FillHoleParams * MR_FillHoleParams_AssignFromAnother ( MR_FillHoleParams * _this,
MR_PassBy _other_pass_by,
MR_FillHoleParams * _other )

Generated from a method of class MR::FillHoleParams 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_FillHoleParams_ConstructFrom()

MRC_API MR_FillHoleParams * MR_FillHoleParams_ConstructFrom ( MR_PassBy metric_pass_by,
MR_FillHoleMetric * metric,
bool smoothBd,
MR_FaceBitSet * outNewFaces,
MR_FillHoleParams_MultipleEdgesResolveMode multipleEdgesResolveMode,
bool makeDegenerateBand,
int32_t maxPolygonSubdivisions,
bool * stopBeforeBadTriangulation )

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

◆ MR_FillHoleParams_ConstructFromAnother()

MRC_API MR_FillHoleParams * MR_FillHoleParams_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_FillHoleParams * _other )

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

◆ MR_FillHoleParams_DefaultConstruct()

MRC_API MR_FillHoleParams * MR_FillHoleParams_DefaultConstruct ( void )

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

◆ MR_FillHoleParams_DefaultConstructArray()

MRC_API MR_FillHoleParams * MR_FillHoleParams_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_FillHoleParams_DestroyArray(). Use MR_FillHoleParams_OffsetMutablePtr() and MR_FillHoleParams_OffsetPtr() to access the array elements.

◆ MR_FillHoleParams_Destroy()

MRC_API void MR_FillHoleParams_Destroy ( const MR_FillHoleParams * _this)

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

◆ MR_FillHoleParams_DestroyArray()

MRC_API void MR_FillHoleParams_DestroyArray ( const MR_FillHoleParams * _this)

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

◆ MR_FillHoleParams_Get_makeDegenerateBand()

MRC_API const bool * MR_FillHoleParams_Get_makeDegenerateBand ( const MR_FillHoleParams * _this)

If true creates degenerate faces band around hole to have sharp angle visualization

Warning
This flag bad for result topology, most likely you do not need it Returns a pointer to a member variable of class MR::FillHoleParams named makeDegenerateBand. 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_FillHoleParams_Get_maxPolygonSubdivisions()

MRC_API const int32_t * MR_FillHoleParams_Get_maxPolygonSubdivisions ( const MR_FillHoleParams * _this)

The maximum number of polygon subdivisions on a triangle and two smaller polygons, must be 2 or larger Returns a pointer to a member variable of class MR::FillHoleParams named maxPolygonSubdivisions. 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_FillHoleParams_Get_metric()

MRC_API const MR_FillHoleMetric * MR_FillHoleParams_Get_metric ( const MR_FillHoleParams * _this)

Specifies triangulation metric
default for MR::fillHole: getCircumscribedFillMetric

See also
FillHoleMetric Returns a pointer to a member variable of class MR::FillHoleParams named metric. 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_FillHoleParams_Get_multipleEdgesResolveMode()

MRC_API const MR_FillHoleParams_MultipleEdgesResolveMode * MR_FillHoleParams_Get_multipleEdgesResolveMode ( const MR_FillHoleParams * _this)

Returns a pointer to a member variable of class MR::FillHoleParams named multipleEdgesResolveMode. 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_FillHoleParams_Get_outNewFaces()

MRC_API MR_FaceBitSet *const * MR_FillHoleParams_Get_outNewFaces ( const MR_FillHoleParams * _this)

If not nullptr accumulate new faces Returns a pointer to a member variable of class MR::FillHoleParams named outNewFaces. 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_FillHoleParams_Get_smoothBd()

MRC_API const bool * MR_FillHoleParams_Get_smoothBd ( const MR_FillHoleParams * _this)

If true, hole filling will minimize the sum of metrics including boundary edges, where one triangle was present before hole filling, and another is added during hole filling. This makes boundary edges same smooth as inner edges of the patch. If false, edge metric will not be applied to boundary edges, and the patch tends to make a sharper turn there. Returns a pointer to a member variable of class MR::FillHoleParams named smoothBd. 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_FillHoleParams_Get_stopBeforeBadTriangulation()

MRC_API bool *const * MR_FillHoleParams_Get_stopBeforeBadTriangulation ( const MR_FillHoleParams * _this)

Input/output value, if it is present: returns true if triangulation was bad and do not actually fill hole, if triangulation is ok returns false; if it is not present fill hole trivially in case of bad triangulation, (or leaves bad triangulation, depending on metric) Returns a pointer to a member variable of class MR::FillHoleParams named stopBeforeBadTriangulation. 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_FillHoleParams_GetMutable_makeDegenerateBand()

MRC_API bool * MR_FillHoleParams_GetMutable_makeDegenerateBand ( MR_FillHoleParams * _this)

If true creates degenerate faces band around hole to have sharp angle visualization

Warning
This flag bad for result topology, most likely you do not need it Returns a mutable pointer to a member variable of class MR::FillHoleParams named makeDegenerateBand. 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_FillHoleParams_GetMutable_maxPolygonSubdivisions()

MRC_API int32_t * MR_FillHoleParams_GetMutable_maxPolygonSubdivisions ( MR_FillHoleParams * _this)

The maximum number of polygon subdivisions on a triangle and two smaller polygons, must be 2 or larger Returns a mutable pointer to a member variable of class MR::FillHoleParams named maxPolygonSubdivisions. 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_FillHoleParams_GetMutable_metric()

MRC_API MR_FillHoleMetric * MR_FillHoleParams_GetMutable_metric ( MR_FillHoleParams * _this)

Specifies triangulation metric
default for MR::fillHole: getCircumscribedFillMetric

See also
FillHoleMetric Returns a mutable pointer to a member variable of class MR::FillHoleParams named metric. 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_FillHoleParams_GetMutable_multipleEdgesResolveMode()

MRC_API MR_FillHoleParams_MultipleEdgesResolveMode * MR_FillHoleParams_GetMutable_multipleEdgesResolveMode ( MR_FillHoleParams * _this)

Returns a mutable pointer to a member variable of class MR::FillHoleParams named multipleEdgesResolveMode. 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_FillHoleParams_GetMutable_outNewFaces()

MRC_API MR_FaceBitSet ** MR_FillHoleParams_GetMutable_outNewFaces ( MR_FillHoleParams * _this)

If not nullptr accumulate new faces Returns a mutable pointer to a member variable of class MR::FillHoleParams named outNewFaces. 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_FillHoleParams_GetMutable_smoothBd()

MRC_API bool * MR_FillHoleParams_GetMutable_smoothBd ( MR_FillHoleParams * _this)

If true, hole filling will minimize the sum of metrics including boundary edges, where one triangle was present before hole filling, and another is added during hole filling. This makes boundary edges same smooth as inner edges of the patch. If false, edge metric will not be applied to boundary edges, and the patch tends to make a sharper turn there. Returns a mutable pointer to a member variable of class MR::FillHoleParams named smoothBd. 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_FillHoleParams_GetMutable_stopBeforeBadTriangulation()

MRC_API bool ** MR_FillHoleParams_GetMutable_stopBeforeBadTriangulation ( MR_FillHoleParams * _this)

Input/output value, if it is present: returns true if triangulation was bad and do not actually fill hole, if triangulation is ok returns false; if it is not present fill hole trivially in case of bad triangulation, (or leaves bad triangulation, depending on metric) Returns a mutable pointer to a member variable of class MR::FillHoleParams named stopBeforeBadTriangulation. 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_FillHoleParams_OffsetMutablePtr()

MRC_API MR_FillHoleParams * MR_FillHoleParams_OffsetMutablePtr ( MR_FillHoleParams * 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_FillHoleParams_OffsetPtr()

MRC_API const MR_FillHoleParams * MR_FillHoleParams_OffsetPtr ( const MR_FillHoleParams * 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_FillHoleParams_Set_makeDegenerateBand()

MRC_API void MR_FillHoleParams_Set_makeDegenerateBand ( MR_FillHoleParams * _this,
bool value )

If true creates degenerate faces band around hole to have sharp angle visualization

Warning
This flag bad for result topology, most likely you do not need it Modifies a member variable of class MR::FillHoleParams named makeDegenerateBand. Parameter _this can not be null. It is a single object.

◆ MR_FillHoleParams_Set_maxPolygonSubdivisions()

MRC_API void MR_FillHoleParams_Set_maxPolygonSubdivisions ( MR_FillHoleParams * _this,
int32_t value )

The maximum number of polygon subdivisions on a triangle and two smaller polygons, must be 2 or larger Modifies a member variable of class MR::FillHoleParams named maxPolygonSubdivisions. Parameter _this can not be null. It is a single object.

◆ MR_FillHoleParams_Set_metric()

MRC_API void MR_FillHoleParams_Set_metric ( MR_FillHoleParams * _this,
MR_PassBy value_pass_by,
MR_FillHoleMetric * value )

Specifies triangulation metric
default for MR::fillHole: getCircumscribedFillMetric

See also
FillHoleMetric Modifies a member variable of class MR::FillHoleParams named metric. Parameter _this can not be null. It is a single object.

◆ MR_FillHoleParams_Set_multipleEdgesResolveMode()

MRC_API void MR_FillHoleParams_Set_multipleEdgesResolveMode ( MR_FillHoleParams * _this,
MR_FillHoleParams_MultipleEdgesResolveMode value )

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

◆ MR_FillHoleParams_Set_outNewFaces()

MRC_API void MR_FillHoleParams_Set_outNewFaces ( MR_FillHoleParams * _this,
MR_FaceBitSet * value )

If not nullptr accumulate new faces Modifies a member variable of class MR::FillHoleParams named outNewFaces. Parameter _this can not be null. It is a single object.

◆ MR_FillHoleParams_Set_smoothBd()

MRC_API void MR_FillHoleParams_Set_smoothBd ( MR_FillHoleParams * _this,
bool value )

If true, hole filling will minimize the sum of metrics including boundary edges, where one triangle was present before hole filling, and another is added during hole filling. This makes boundary edges same smooth as inner edges of the patch. If false, edge metric will not be applied to boundary edges, and the patch tends to make a sharper turn there. Modifies a member variable of class MR::FillHoleParams named smoothBd. Parameter _this can not be null. It is a single object.

◆ MR_FillHoleParams_Set_stopBeforeBadTriangulation()

MRC_API void MR_FillHoleParams_Set_stopBeforeBadTriangulation ( MR_FillHoleParams * _this,
bool * value )

Input/output value, if it is present: returns true if triangulation was bad and do not actually fill hole, if triangulation is ok returns false; if it is not present fill hole trivially in case of bad triangulation, (or leaves bad triangulation, depending on metric) Modifies a member variable of class MR::FillHoleParams named stopBeforeBadTriangulation. Parameter _this can not be null. It is a single object.

◆ MR_fillHoles()

MRC_API void MR_fillHoles ( MR_Mesh * mesh,
const MR_std_vector_MR_EdgeId * as,
const MR_FillHoleParams * params )

fill all holes given by their representative edges in

Parameters
asGenerated from function MR::fillHoles. Parameter mesh can not be null. It is a single object. Parameter as 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.

◆ MR_fillHoleTrivially()

MRC_API MR_VertId MR_fillHoleTrivially ( MR_Mesh * mesh,
MR_EdgeId a,
MR_FaceBitSet * outNewFaces )

Triangulates face of hole in mesh trivially
.

Fills given hole represented by one of its edges (having no valid left face)
by creating one new vertex in the centroid of boundary vertices and connecting new vertex with all boundary vertices.

Before
After

Next picture show, how newly generated faces can be smoothed MR::positionVertsSmoothly MR::subdivideMesh

Trivial fill with smooth
Parameters
meshmesh with hole
aEdgeId points on the face or hole to the left that will be triangulated
outNewFacesoptional output newly generated faces
Returns
new vertex
See also
fillHole Generated from function MR::fillHoleTrivially. Parameter mesh can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_getHoleFillPlan()

MRC_API MR_HoleFillPlan * MR_getHoleFillPlan ( const MR_Mesh * mesh,
MR_EdgeId e,
const MR_FillHoleParams * params )

prepares the plan how to triangulate the face or hole to the left of (e) (not filling it immediately), several getHoleFillPlan can work in parallel Generated from function MR::getHoleFillPlan. Parameter mesh 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_HoleFillPlan_Destroy() to free it when you're done using it.

◆ MR_getHoleFillPlans()

MRC_API MR_std_vector_MR_HoleFillPlan * MR_getHoleFillPlans ( const MR_Mesh * mesh,
const MR_std_vector_MR_EdgeId * holeRepresentativeEdges,
const MR_FillHoleParams * params )

prepares the plans how to triangulate the faces or holes, each given by a boundary edge (with filling target to the left), the plans are prepared in parallel with minimal memory allocation compared to manual calling of several getHoleFillPlan(), but it can inefficient when some holes are very complex Generated from function MR::getHoleFillPlans. Parameter mesh can not be null. It is a single object. Parameter holeRepresentativeEdges 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_std_vector_MR_HoleFillPlan_Destroy() to free it when you're done using it.

◆ MR_getPlanarHoleFillPlan()

MRC_API MR_HoleFillPlan * MR_getPlanarHoleFillPlan ( const MR_Mesh * mesh,
MR_EdgeId e )

prepares the plan how to triangulate the planar face or planar hole to the left of (e) (not filling it immediately), several getPlanarHoleFillPlan can work in parallel Generated from function MR::getPlanarHoleFillPlan. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_HoleFillPlan_Destroy() to free it when you're done using it.

◆ MR_getPlanarHoleFillPlans()

MRC_API MR_std_vector_MR_HoleFillPlan * MR_getPlanarHoleFillPlans ( const MR_Mesh * mesh,
const MR_std_vector_MR_EdgeId * holeRepresentativeEdges )

prepares the plans how to triangulate the planar faces or holes, each given by a boundary edge (with filling target to the left), the plans are prepared in parallel with minimal memory allocation compared to manual calling of several getPlanarHoleFillPlan(), but it can inefficient when some holes are very complex Generated from function MR::getPlanarHoleFillPlans. Parameter mesh can not be null. It is a single object. Parameter holeRepresentativeEdges can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_HoleFillPlan_Destroy() to free it when you're done using it.

◆ MR_HoleFillPlan_AssignFromAnother()

MRC_API MR_HoleFillPlan * MR_HoleFillPlan_AssignFromAnother ( MR_HoleFillPlan * _this,
MR_PassBy _other_pass_by,
MR_HoleFillPlan * _other )

Generated from a method of class MR::HoleFillPlan 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_HoleFillPlan_ConstructFrom()

MRC_API MR_HoleFillPlan * MR_HoleFillPlan_ConstructFrom ( MR_PassBy items_pass_by,
MR_std_vector_MR_FillHoleItem * items,
int32_t numTris )

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

◆ MR_HoleFillPlan_ConstructFromAnother()

MRC_API MR_HoleFillPlan * MR_HoleFillPlan_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_HoleFillPlan * _other )

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

◆ MR_HoleFillPlan_DefaultConstruct()

MRC_API MR_HoleFillPlan * MR_HoleFillPlan_DefaultConstruct ( void )

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

◆ MR_HoleFillPlan_DefaultConstructArray()

MRC_API MR_HoleFillPlan * MR_HoleFillPlan_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_HoleFillPlan_DestroyArray(). Use MR_HoleFillPlan_OffsetMutablePtr() and MR_HoleFillPlan_OffsetPtr() to access the array elements.

◆ MR_HoleFillPlan_Destroy()

MRC_API void MR_HoleFillPlan_Destroy ( const MR_HoleFillPlan * _this)

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

◆ MR_HoleFillPlan_DestroyArray()

MRC_API void MR_HoleFillPlan_DestroyArray ( const MR_HoleFillPlan * _this)

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

◆ MR_HoleFillPlan_Get_items()

MRC_API const MR_std_vector_MR_FillHoleItem * MR_HoleFillPlan_Get_items ( const MR_HoleFillPlan * _this)

Returns a pointer to a member variable of class MR::HoleFillPlan named items. 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_HoleFillPlan_Get_numTris()

MRC_API const int32_t * MR_HoleFillPlan_Get_numTris ( const MR_HoleFillPlan * _this)

Returns a pointer to a member variable of class MR::HoleFillPlan named numTris. 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_HoleFillPlan_GetMutable_items()

MRC_API MR_std_vector_MR_FillHoleItem * MR_HoleFillPlan_GetMutable_items ( MR_HoleFillPlan * _this)

Returns a mutable pointer to a member variable of class MR::HoleFillPlan named items. 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_HoleFillPlan_GetMutable_numTris()

MRC_API int32_t * MR_HoleFillPlan_GetMutable_numTris ( MR_HoleFillPlan * _this)

Returns a mutable pointer to a member variable of class MR::HoleFillPlan named numTris. 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_HoleFillPlan_OffsetMutablePtr()

MRC_API MR_HoleFillPlan * MR_HoleFillPlan_OffsetMutablePtr ( MR_HoleFillPlan * 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_HoleFillPlan_OffsetPtr()

MRC_API const MR_HoleFillPlan * MR_HoleFillPlan_OffsetPtr ( const MR_HoleFillPlan * 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_HoleFillPlan_Set_items()

MRC_API void MR_HoleFillPlan_Set_items ( MR_HoleFillPlan * _this,
MR_PassBy value_pass_by,
MR_std_vector_MR_FillHoleItem * value )

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

◆ MR_HoleFillPlan_Set_numTris()

MRC_API void MR_HoleFillPlan_Set_numTris ( MR_HoleFillPlan * _this,
int32_t value )

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

◆ MR_isHoleBd()

MRC_API bool MR_isHoleBd ( const MR_MeshTopology * topology,
const MR_std_vector_MR_EdgeId * loop )

returns true if given loop is a boundary of one hole in given mesh topology:

  • every edge in the loop does not have left face,
  • next/prev edges in the loop are related as follows: next = topology.prev( prev.sym() ) if the function returns true, then any edge from the loop passed to fillHole will fill the same hole Generated from function MR::isHoleBd. Parameter topology can not be null. It is a single object. Parameter loop can not be null. It is a single object.

◆ MR_makeBridge()

MRC_API MR_MakeBridgeResult * MR_makeBridge ( MR_MeshTopology * topology,
MR_EdgeId a,
MR_EdgeId b,
MR_FaceBitSet * outNewFaces )

creates a bridge between two boundary edges a and b (both having no valid left face); bridge consists of two triangles in general or of one triangle if a and b are neighboring edges on the boundary;

Returns
MakeBridgeResult evaluating to false if bridge cannot be created because otherwise multiple edges appear Generated from function MR::makeBridge. Parameter topology can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_MakeBridgeResult_Destroy() to free it when you're done using it.

◆ MR_makeBridgeEdge()

MRC_API MR_EdgeId MR_makeBridgeEdge ( MR_MeshTopology * topology,
MR_EdgeId a,
MR_EdgeId b )

creates a new bridge edge between origins of two boundary edges a and b (both having no valid left face);

Returns
invalid id if bridge cannot be created because otherwise multiple edges appear Generated from function MR::makeBridgeEdge. Parameter topology can not be null. It is a single object.

◆ MR_MakeBridgeResult_AssignFromAnother()

MRC_API MR_MakeBridgeResult * MR_MakeBridgeResult_AssignFromAnother ( MR_MakeBridgeResult * _this,
const MR_MakeBridgeResult * _other )

Generated from a method of class MR::MakeBridgeResult named operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_MakeBridgeResult_ConstructFrom()

MRC_API MR_MakeBridgeResult * MR_MakeBridgeResult_ConstructFrom ( int32_t newFaces,
MR_EdgeId na,
MR_EdgeId nb )

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

◆ MR_MakeBridgeResult_ConstructFromAnother()

MRC_API MR_MakeBridgeResult * MR_MakeBridgeResult_ConstructFromAnother ( const MR_MakeBridgeResult * _other)

Generated from a constructor of class MR::MakeBridgeResult. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MakeBridgeResult_Destroy() to free it when you're done using it.

◆ MR_MakeBridgeResult_ConvertTo_bool()

MRC_API bool MR_MakeBridgeResult_ConvertTo_bool ( const MR_MakeBridgeResult * _this)

bridge construction is successful if at least one new face was created Generated from a conversion operator of class MR::MakeBridgeResult to type bool. Parameter _this can not be null. It is a single object.

◆ MR_MakeBridgeResult_DefaultConstruct()

MRC_API MR_MakeBridgeResult * MR_MakeBridgeResult_DefaultConstruct ( void )

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

◆ MR_MakeBridgeResult_DefaultConstructArray()

MRC_API MR_MakeBridgeResult * MR_MakeBridgeResult_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_MakeBridgeResult_DestroyArray(). Use MR_MakeBridgeResult_OffsetMutablePtr() and MR_MakeBridgeResult_OffsetPtr() to access the array elements.

◆ MR_MakeBridgeResult_Destroy()

MRC_API void MR_MakeBridgeResult_Destroy ( const MR_MakeBridgeResult * _this)

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

◆ MR_MakeBridgeResult_DestroyArray()

MRC_API void MR_MakeBridgeResult_DestroyArray ( const MR_MakeBridgeResult * _this)

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

◆ MR_MakeBridgeResult_Get_na()

MRC_API const MR_EdgeId * MR_MakeBridgeResult_Get_na ( const MR_MakeBridgeResult * _this)

the edge na (nb) if valid is a new boundary edge of the created bridge without left face, having the same origin as input edge a (b) Returns a pointer to a member variable of class MR::MakeBridgeResult named na. 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_MakeBridgeResult_Get_nb()

MRC_API const MR_EdgeId * MR_MakeBridgeResult_Get_nb ( const MR_MakeBridgeResult * _this)

the edge na (nb) if valid is a new boundary edge of the created bridge without left face, having the same origin as input edge a (b) Returns a pointer to a member variable of class MR::MakeBridgeResult named nb. 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_MakeBridgeResult_Get_newFaces()

MRC_API const int32_t * MR_MakeBridgeResult_Get_newFaces ( const MR_MakeBridgeResult * _this)

the number of faces added to the mesh Returns a pointer to a member variable of class MR::MakeBridgeResult named newFaces. 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_MakeBridgeResult_GetMutable_na()

MRC_API MR_EdgeId * MR_MakeBridgeResult_GetMutable_na ( MR_MakeBridgeResult * _this)

the edge na (nb) if valid is a new boundary edge of the created bridge without left face, having the same origin as input edge a (b) Returns a mutable pointer to a member variable of class MR::MakeBridgeResult named na. 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_MakeBridgeResult_GetMutable_nb()

MRC_API MR_EdgeId * MR_MakeBridgeResult_GetMutable_nb ( MR_MakeBridgeResult * _this)

the edge na (nb) if valid is a new boundary edge of the created bridge without left face, having the same origin as input edge a (b) Returns a mutable pointer to a member variable of class MR::MakeBridgeResult named nb. 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_MakeBridgeResult_GetMutable_newFaces()

MRC_API int32_t * MR_MakeBridgeResult_GetMutable_newFaces ( MR_MakeBridgeResult * _this)

the number of faces added to the mesh Returns a mutable pointer to a member variable of class MR::MakeBridgeResult named newFaces. 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_MakeBridgeResult_OffsetMutablePtr()

MRC_API MR_MakeBridgeResult * MR_MakeBridgeResult_OffsetMutablePtr ( MR_MakeBridgeResult * 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_MakeBridgeResult_OffsetPtr()

MRC_API const MR_MakeBridgeResult * MR_MakeBridgeResult_OffsetPtr ( const MR_MakeBridgeResult * 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_MakeBridgeResult_Set_na()

MRC_API void MR_MakeBridgeResult_Set_na ( MR_MakeBridgeResult * _this,
MR_EdgeId value )

the edge na (nb) if valid is a new boundary edge of the created bridge without left face, having the same origin as input edge a (b) Modifies a member variable of class MR::MakeBridgeResult named na. Parameter _this can not be null. It is a single object.

◆ MR_MakeBridgeResult_Set_nb()

MRC_API void MR_MakeBridgeResult_Set_nb ( MR_MakeBridgeResult * _this,
MR_EdgeId value )

the edge na (nb) if valid is a new boundary edge of the created bridge without left face, having the same origin as input edge a (b) Modifies a member variable of class MR::MakeBridgeResult named nb. Parameter _this can not be null. It is a single object.

◆ MR_MakeBridgeResult_Set_newFaces()

MRC_API void MR_MakeBridgeResult_Set_newFaces ( MR_MakeBridgeResult * _this,
int32_t value )

the number of faces added to the mesh Modifies a member variable of class MR::MakeBridgeResult named newFaces. Parameter _this can not be null. It is a single object.

◆ MR_makeDegenerateBandAroundHole()

MRC_API MR_EdgeId MR_makeDegenerateBandAroundHole ( MR_Mesh * mesh,
MR_EdgeId a,
MR_FaceBitSet * outNewFaces )

creates a band of degenerate triangles around given hole;

Returns
the edge of new hole opposite to input edge (a) Generated from function MR::makeDegenerateBandAroundHole. Parameter mesh can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_makeQuadBridge()

MRC_API MR_MakeBridgeResult * MR_makeQuadBridge ( MR_MeshTopology * topology,
MR_EdgeId a,
MR_EdgeId b,
MR_FaceBitSet * outNewFaces )

creates a bridge between two boundary edges a and b (both having no valid left face); bridge consists of one quadrangle in general (beware that it cannot be rendered) or of one triangle if a and b are neighboring edges on the boundary;

Returns
false if bridge cannot be created because otherwise multiple edges appear Generated from function MR::makeQuadBridge. Parameter topology can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_MakeBridgeResult_Destroy() to free it when you're done using it.

◆ MR_makeSmoothBridge()

MRC_API MR_MakeBridgeResult * MR_makeSmoothBridge ( MR_Mesh * mesh,
MR_EdgeId a,
MR_EdgeId b,
float samplingStep,
MR_FaceBitSet * outNewFaces )

creates a bridge between two boundary edges a and b (both having no valid left face); bridge consists of strip of quadrangles (each consisting of two triangles) in general or of some triangles if a and b are neighboring edges on the boundary; the bridge is made as smooth as possible with small angles in between its links and on the boundary with existed triangles;

Parameters
samplingStepboundaries of the bridge will be subdivided until the distance between neighbor points becomes less than this distance
Returns
MakeBridgeResult evaluating to false if bridge cannot be created because otherwise multiple edges appear Generated from function MR::makeSmoothBridge. Parameter mesh can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_MakeBridgeResult_Destroy() to free it when you're done using it.

◆ MR_splitQuad()

MRC_API void MR_splitQuad ( MR_MeshTopology * topology,
MR_EdgeId a,
MR_FaceBitSet * outNewFaces )

given quadrangle face to the left of a, splits it in two triangles with new diagonal edge via dest(a) Generated from function MR::splitQuad. Parameter topology can not be null. It is a single object. Parameter outNewFaces defaults to a null pointer in C++.

◆ MR_StitchHolesParams_AssignFromAnother()

MRC_API MR_StitchHolesParams * MR_StitchHolesParams_AssignFromAnother ( MR_StitchHolesParams * _this,
MR_PassBy _other_pass_by,
MR_StitchHolesParams * _other )

Generated from a method of class MR::StitchHolesParams 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_StitchHolesParams_ConstructFrom()

MRC_API MR_StitchHolesParams * MR_StitchHolesParams_ConstructFrom ( MR_PassBy metric_pass_by,
MR_FillHoleMetric * metric,
MR_FaceBitSet * outNewFaces )

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

◆ MR_StitchHolesParams_ConstructFromAnother()

MRC_API MR_StitchHolesParams * MR_StitchHolesParams_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_StitchHolesParams * _other )

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

◆ MR_StitchHolesParams_DefaultConstruct()

MRC_API MR_StitchHolesParams * MR_StitchHolesParams_DefaultConstruct ( void )

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

◆ MR_StitchHolesParams_DefaultConstructArray()

MRC_API MR_StitchHolesParams * MR_StitchHolesParams_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_StitchHolesParams_DestroyArray(). Use MR_StitchHolesParams_OffsetMutablePtr() and MR_StitchHolesParams_OffsetPtr() to access the array elements.

◆ MR_StitchHolesParams_Destroy()

MRC_API void MR_StitchHolesParams_Destroy ( const MR_StitchHolesParams * _this)

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

◆ MR_StitchHolesParams_DestroyArray()

MRC_API void MR_StitchHolesParams_DestroyArray ( const MR_StitchHolesParams * _this)

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

◆ MR_StitchHolesParams_Get_metric()

MRC_API const MR_FillHoleMetric * MR_StitchHolesParams_Get_metric ( const MR_StitchHolesParams * _this)

Specifies triangulation metric
default for MR::buildCylinderBetweenTwoHoles: getComplexStitchMetric

See also
FillHoleMetric Returns a pointer to a member variable of class MR::StitchHolesParams named metric. 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_StitchHolesParams_Get_outNewFaces()

MRC_API MR_FaceBitSet *const * MR_StitchHolesParams_Get_outNewFaces ( const MR_StitchHolesParams * _this)

If not nullptr accumulate new faces Returns a pointer to a member variable of class MR::StitchHolesParams named outNewFaces. 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_StitchHolesParams_GetMutable_metric()

MRC_API MR_FillHoleMetric * MR_StitchHolesParams_GetMutable_metric ( MR_StitchHolesParams * _this)

Specifies triangulation metric
default for MR::buildCylinderBetweenTwoHoles: getComplexStitchMetric

See also
FillHoleMetric Returns a mutable pointer to a member variable of class MR::StitchHolesParams named metric. 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_StitchHolesParams_GetMutable_outNewFaces()

MRC_API MR_FaceBitSet ** MR_StitchHolesParams_GetMutable_outNewFaces ( MR_StitchHolesParams * _this)

If not nullptr accumulate new faces Returns a mutable pointer to a member variable of class MR::StitchHolesParams named outNewFaces. 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_StitchHolesParams_OffsetMutablePtr()

MRC_API MR_StitchHolesParams * MR_StitchHolesParams_OffsetMutablePtr ( MR_StitchHolesParams * 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_StitchHolesParams_OffsetPtr()

MRC_API const MR_StitchHolesParams * MR_StitchHolesParams_OffsetPtr ( const MR_StitchHolesParams * 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_StitchHolesParams_Set_metric()

MRC_API void MR_StitchHolesParams_Set_metric ( MR_StitchHolesParams * _this,
MR_PassBy value_pass_by,
MR_FillHoleMetric * value )

Specifies triangulation metric
default for MR::buildCylinderBetweenTwoHoles: getComplexStitchMetric

See also
FillHoleMetric Modifies a member variable of class MR::StitchHolesParams named metric. Parameter _this can not be null. It is a single object.

◆ MR_StitchHolesParams_Set_outNewFaces()

MRC_API void MR_StitchHolesParams_Set_outNewFaces ( MR_StitchHolesParams * _this,
MR_FaceBitSet * value )

If not nullptr accumulate new faces Modifies a member variable of class MR::StitchHolesParams named outNewFaces. Parameter _this can not be null. It is a single object.