MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshThickness.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>

Go to the source code of this file.

Typedefs

typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_MeshIntersectionResult MR_MeshIntersectionResult
 
typedef struct MR_MeshProjectionResult MR_MeshProjectionResult
 
typedef struct MR_MeshTriPoint MR_MeshTriPoint
 
typedef struct MR_std_function_bool_from_MR_FaceId MR_std_function_bool_from_MR_FaceId
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_std_optional_MR_VertScalars MR_std_optional_MR_VertScalars
 
typedef struct MR_MeshPoint MR_MeshPoint
 
typedef struct MR_InSphereSearchSettings MR_InSphereSearchSettings
 
typedef struct MR_InSphere MR_InSphere
 

Functions

MRC_API MR_std_optional_MR_VertScalarsMR_computeRayThicknessAtVertices (const MR_Mesh *mesh, const MR_std_function_bool_from_float *progress)
 
MRC_API const MR_MeshTriPointMR_MeshPoint_Get_triPoint (const MR_MeshPoint *_this)
 
MRC_API void MR_MeshPoint_Set_triPoint (MR_MeshPoint *_this, const MR_MeshTriPoint *value)
 
MRC_API MR_MeshTriPointMR_MeshPoint_GetMutable_triPoint (MR_MeshPoint *_this)
 
MRC_API const MR_Vector3fMR_MeshPoint_Get_pt (const MR_MeshPoint *_this)
 
MRC_API void MR_MeshPoint_Set_pt (MR_MeshPoint *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_MeshPoint_GetMutable_pt (MR_MeshPoint *_this)
 
MRC_API const MR_Vector3fMR_MeshPoint_Get_inDir (const MR_MeshPoint *_this)
 
MRC_API void MR_MeshPoint_Set_inDir (MR_MeshPoint *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_MeshPoint_GetMutable_inDir (MR_MeshPoint *_this)
 
MRC_API const MR_std_function_bool_from_MR_FaceIdMR_MeshPoint_Get_notIncidentFaces (const MR_MeshPoint *_this)
 
MRC_API void MR_MeshPoint_Set_notIncidentFaces (MR_MeshPoint *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_FaceId *value)
 
MRC_API MR_std_function_bool_from_MR_FaceIdMR_MeshPoint_GetMutable_notIncidentFaces (MR_MeshPoint *_this)
 
MRC_API MR_MeshPointMR_MeshPoint_DefaultConstruct (void)
 
MRC_API MR_MeshPointMR_MeshPoint_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_MeshPointMR_MeshPoint_ConstructFrom (const MR_MeshTriPoint *triPoint, MR_Vector3f pt, MR_Vector3f inDir, MR_PassBy notIncidentFaces_pass_by, MR_std_function_bool_from_MR_FaceId *notIncidentFaces)
 
MRC_API const MR_MeshPointMR_MeshPoint_OffsetPtr (const MR_MeshPoint *ptr, ptrdiff_t i)
 
MRC_API MR_MeshPointMR_MeshPoint_OffsetMutablePtr (MR_MeshPoint *ptr, ptrdiff_t i)
 
MRC_API MR_MeshPointMR_MeshPoint_ConstructFromAnother (MR_PassBy _other_pass_by, MR_MeshPoint *_other)
 
MRC_API void MR_MeshPoint_Destroy (const MR_MeshPoint *_this)
 Destroys a heap-allocated instance of MR_MeshPoint. Does nothing if the pointer is null.
 
MRC_API void MR_MeshPoint_DestroyArray (const MR_MeshPoint *_this)
 Destroys a heap-allocated array of MR_MeshPoint. Does nothing if the pointer is null.
 
MRC_API MR_MeshPointMR_MeshPoint_AssignFromAnother (MR_MeshPoint *_this, MR_PassBy _other_pass_by, MR_MeshPoint *_other)
 
MRC_API void MR_MeshPoint_set (MR_MeshPoint *_this, const MR_Mesh *mesh, const MR_MeshTriPoint *p)
 
MRC_API MR_MeshIntersectionResultMR_rayInsideIntersect_MR_MeshPoint (const MR_Mesh *mesh, const MR_MeshPoint *m, const float *rayEnd)
 
MRC_API MR_MeshIntersectionResultMR_rayInsideIntersect_MR_VertId (const MR_Mesh *mesh, MR_VertId v, const float *rayEnd)
 
MRC_API const bool * MR_InSphereSearchSettings_Get_insideAndOutside (const MR_InSphereSearchSettings *_this)
 
MRC_API void MR_InSphereSearchSettings_Set_insideAndOutside (MR_InSphereSearchSettings *_this, bool value)
 
MRC_API bool * MR_InSphereSearchSettings_GetMutable_insideAndOutside (MR_InSphereSearchSettings *_this)
 
MRC_API const float * MR_InSphereSearchSettings_Get_maxRadius (const MR_InSphereSearchSettings *_this)
 
MRC_API void MR_InSphereSearchSettings_Set_maxRadius (MR_InSphereSearchSettings *_this, float value)
 
MRC_API float * MR_InSphereSearchSettings_GetMutable_maxRadius (MR_InSphereSearchSettings *_this)
 
MRC_API const int * MR_InSphereSearchSettings_Get_maxIters (const MR_InSphereSearchSettings *_this)
 
MRC_API void MR_InSphereSearchSettings_Set_maxIters (MR_InSphereSearchSettings *_this, int value)
 
MRC_API int * MR_InSphereSearchSettings_GetMutable_maxIters (MR_InSphereSearchSettings *_this)
 
MRC_API const float * MR_InSphereSearchSettings_Get_minShrinkage (const MR_InSphereSearchSettings *_this)
 
MRC_API void MR_InSphereSearchSettings_Set_minShrinkage (MR_InSphereSearchSettings *_this, float value)
 
MRC_API float * MR_InSphereSearchSettings_GetMutable_minShrinkage (MR_InSphereSearchSettings *_this)
 
MRC_API const float * MR_InSphereSearchSettings_Get_minAngleCos (const MR_InSphereSearchSettings *_this)
 
MRC_API void MR_InSphereSearchSettings_Set_minAngleCos (MR_InSphereSearchSettings *_this, float value)
 
MRC_API float * MR_InSphereSearchSettings_GetMutable_minAngleCos (MR_InSphereSearchSettings *_this)
 
MRC_API MR_InSphereSearchSettingsMR_InSphereSearchSettings_DefaultConstruct (void)
 
MRC_API MR_InSphereSearchSettingsMR_InSphereSearchSettings_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_InSphereSearchSettingsMR_InSphereSearchSettings_ConstructFrom (bool insideAndOutside, float maxRadius, int maxIters, float minShrinkage, float minAngleCos)
 
MRC_API const MR_InSphereSearchSettingsMR_InSphereSearchSettings_OffsetPtr (const MR_InSphereSearchSettings *ptr, ptrdiff_t i)
 
MRC_API MR_InSphereSearchSettingsMR_InSphereSearchSettings_OffsetMutablePtr (MR_InSphereSearchSettings *ptr, ptrdiff_t i)
 
MRC_API MR_InSphereSearchSettingsMR_InSphereSearchSettings_ConstructFromAnother (const MR_InSphereSearchSettings *_other)
 
MRC_API void MR_InSphereSearchSettings_Destroy (const MR_InSphereSearchSettings *_this)
 Destroys a heap-allocated instance of MR_InSphereSearchSettings. Does nothing if the pointer is null.
 
MRC_API void MR_InSphereSearchSettings_DestroyArray (const MR_InSphereSearchSettings *_this)
 Destroys a heap-allocated array of MR_InSphereSearchSettings. Does nothing if the pointer is null.
 
MRC_API MR_InSphereSearchSettingsMR_InSphereSearchSettings_AssignFromAnother (MR_InSphereSearchSettings *_this, const MR_InSphereSearchSettings *_other)
 
MRC_API const MR_Vector3fMR_InSphere_Get_center (const MR_InSphere *_this)
 
MRC_API void MR_InSphere_Set_center (MR_InSphere *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_InSphere_GetMutable_center (MR_InSphere *_this)
 
MRC_API const float * MR_InSphere_Get_radius (const MR_InSphere *_this)
 
MRC_API void MR_InSphere_Set_radius (MR_InSphere *_this, float value)
 
MRC_API float * MR_InSphere_GetMutable_radius (MR_InSphere *_this)
 
MRC_API const MR_MeshProjectionResultMR_InSphere_Get_oppositeTouchPoint (const MR_InSphere *_this)
 
MRC_API void MR_InSphere_Set_oppositeTouchPoint (MR_InSphere *_this, const MR_MeshProjectionResult *value)
 
MRC_API MR_MeshProjectionResultMR_InSphere_GetMutable_oppositeTouchPoint (MR_InSphere *_this)
 
MRC_API MR_InSphereMR_InSphere_DefaultConstruct (void)
 
MRC_API MR_InSphereMR_InSphere_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_InSphereMR_InSphere_ConstructFrom (MR_Vector3f center, float radius, const MR_MeshProjectionResult *oppositeTouchPoint)
 
MRC_API const MR_InSphereMR_InSphere_OffsetPtr (const MR_InSphere *ptr, ptrdiff_t i)
 
MRC_API MR_InSphereMR_InSphere_OffsetMutablePtr (MR_InSphere *ptr, ptrdiff_t i)
 
MRC_API MR_InSphereMR_InSphere_ConstructFromAnother (const MR_InSphere *_other)
 
MRC_API void MR_InSphere_Destroy (const MR_InSphere *_this)
 Destroys a heap-allocated instance of MR_InSphere. Does nothing if the pointer is null.
 
MRC_API void MR_InSphere_DestroyArray (const MR_InSphere *_this)
 Destroys a heap-allocated array of MR_InSphere. Does nothing if the pointer is null.
 
MRC_API MR_InSphereMR_InSphere_AssignFromAnother (MR_InSphere *_this, const MR_InSphere *_other)
 
MRC_API MR_InSphereMR_findInSphere_MR_MeshPoint (const MR_Mesh *mesh, const MR_MeshPoint *m, const MR_InSphereSearchSettings *settings)
 
MRC_API MR_InSphereMR_findInSphere_MR_VertId (const MR_Mesh *mesh, MR_VertId v, const MR_InSphereSearchSettings *settings)
 
MRC_API MR_std_optional_MR_VertScalarsMR_computeInSphereThicknessAtVertices (const MR_Mesh *mesh, const MR_InSphereSearchSettings *settings, const MR_std_function_bool_from_float *progress)
 

Typedef Documentation

◆ MR_InSphere

typedef struct MR_InSphere MR_InSphere

found maximal inscribed sphere touching input point with center along given direction Generated from class MR::InSphere. 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_InSphereSearchSettings

controls the finding of maximal inscribed sphere in mesh Generated from class MR::InSphereSearchSettings. 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_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshIntersectionResult

◆ MR_MeshPoint

typedef struct MR_MeshPoint MR_MeshPoint

describes the point of measurement on mesh Generated from class MR::MeshPoint. 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_MeshProjectionResult

◆ MR_MeshTriPoint

◆ MR_std_function_bool_from_float

◆ MR_std_function_bool_from_MR_FaceId

◆ MR_std_optional_MR_VertScalars

Function Documentation

◆ MR_computeInSphereThicknessAtVertices()

MRC_API MR_std_optional_MR_VertScalars * MR_computeInSphereThicknessAtVertices ( const MR_Mesh * mesh,
const MR_InSphereSearchSettings * settings,
const MR_std_function_bool_from_float * progress )

returns the thickness at each vertex as the diameter of the maximal inscribed sphere Generated from function MR::computeInSphereThicknessAtVertices. Parameter mesh can not be null. It is a single object. Parameter settings can not be null. It is a single object. Parameter progress is a single object. Parameter progress 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_optional_MR_VertScalars_Destroy() to free it when you're done using it.

◆ MR_computeRayThicknessAtVertices()

MRC_API MR_std_optional_MR_VertScalars * MR_computeRayThicknessAtVertices ( const MR_Mesh * mesh,
const MR_std_function_bool_from_float * progress )

returns the distance from each vertex along minus normal to the nearest mesh intersection (or FLT_MAX if no intersection found) Generated from function MR::computeRayThicknessAtVertices. Parameter mesh can not be null. It is a single object. Parameter progress is a single object. Parameter progress 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_optional_MR_VertScalars_Destroy() to free it when you're done using it. relative position on mesh Returns a pointer to a member variable of class MR::MeshPoint named triPoint. 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_findInSphere_MR_MeshPoint()

MRC_API MR_InSphere * MR_findInSphere_MR_MeshPoint ( const MR_Mesh * mesh,
const MR_MeshPoint * m,
const MR_InSphereSearchSettings * settings )

finds maximal sphere inscribed in the mesh touching point (p) with center along the normal at (p) Generated from function MR::findInSphere. Parameter mesh can not be null. It is a single object. Parameter m can not be null. It is a single object. Parameter settings can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_InSphere_Destroy() to free it when you're done using it.

◆ MR_findInSphere_MR_VertId()

MRC_API MR_InSphere * MR_findInSphere_MR_VertId ( const MR_Mesh * mesh,
MR_VertId v,
const MR_InSphereSearchSettings * settings )

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

◆ MR_InSphere_AssignFromAnother()

MRC_API MR_InSphere * MR_InSphere_AssignFromAnother ( MR_InSphere * _this,
const MR_InSphere * _other )

Generated from method MR::InSphere::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_InSphere_ConstructFrom()

MRC_API MR_InSphere * MR_InSphere_ConstructFrom ( MR_Vector3f center,
float radius,
const MR_MeshProjectionResult * oppositeTouchPoint )

Constructs MR::InSphere elementwise. The reference to the parameter center might be preserved in the constructed object. Parameter oppositeTouchPoint can not be null. It is a single object. The reference to the parameter oppositeTouchPoint might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_InSphere_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_InSphere_ConstructFromAnother()

MRC_API MR_InSphere * MR_InSphere_ConstructFromAnother ( const MR_InSphere * _other)

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

◆ MR_InSphere_DefaultConstruct()

MRC_API MR_InSphere * MR_InSphere_DefaultConstruct ( void )

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

◆ MR_InSphere_DefaultConstructArray()

MRC_API MR_InSphere * MR_InSphere_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_InSphere_DestroyArray(). Use MR_InSphere_OffsetMutablePtr() and MR_InSphere_OffsetPtr() to access the array elements.

◆ MR_InSphere_Destroy()

MRC_API void MR_InSphere_Destroy ( const MR_InSphere * _this)

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

◆ MR_InSphere_DestroyArray()

MRC_API void MR_InSphere_DestroyArray ( const MR_InSphere * _this)

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

◆ MR_InSphere_Get_center()

MRC_API const MR_Vector3f * MR_InSphere_Get_center ( const MR_InSphere * _this)

Returns a pointer to a member variable of class MR::InSphere named center. 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_InSphere_Get_oppositeTouchPoint()

MRC_API const MR_MeshProjectionResult * MR_InSphere_Get_oppositeTouchPoint ( const MR_InSphere * _this)

excluding input point and incident triangles, distSq - squared distance to sphere's center Modifies a member variable of class MR::InSphere named oppositeTouchPoint. Parameter _this can not be null. It is a single object. Parameter value can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element oppositeTouchPoint. When this function is called, this object will drop object references it had previously in oppositeTouchPoint.

◆ MR_InSphere_Get_radius()

MRC_API const float * MR_InSphere_Get_radius ( const MR_InSphere * _this)

Returns a pointer to a member variable of class MR::InSphere named radius. 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_InSphere_GetMutable_center()

MRC_API MR_Vector3f * MR_InSphere_GetMutable_center ( MR_InSphere * _this)

Returns a mutable pointer to a member variable of class MR::InSphere named center. 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_InSphere_GetMutable_oppositeTouchPoint()

MRC_API MR_MeshProjectionResult * MR_InSphere_GetMutable_oppositeTouchPoint ( MR_InSphere * _this)

◆ MR_InSphere_GetMutable_radius()

MRC_API float * MR_InSphere_GetMutable_radius ( MR_InSphere * _this)

Returns a mutable pointer to a member variable of class MR::InSphere named radius. 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. excluding input point and incident triangles, distSq - squared distance to sphere's center Returns a pointer to a member variable of class MR::InSphere named oppositeTouchPoint. 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_InSphere_OffsetMutablePtr()

MRC_API MR_InSphere * MR_InSphere_OffsetMutablePtr ( MR_InSphere * 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_InSphere_OffsetPtr()

MRC_API const MR_InSphere * MR_InSphere_OffsetPtr ( const MR_InSphere * 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_InSphere_Set_center()

MRC_API void MR_InSphere_Set_center ( MR_InSphere * _this,
MR_Vector3f value )

Modifies a member variable of class MR::InSphere named center. 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 center. When this function is called, this object will drop object references it had previously in center.

◆ MR_InSphere_Set_oppositeTouchPoint()

MRC_API void MR_InSphere_Set_oppositeTouchPoint ( MR_InSphere * _this,
const MR_MeshProjectionResult * value )

excluding input point and incident triangles, distSq - squared distance to sphere's center Returns a mutable pointer to a member variable of class MR::InSphere named oppositeTouchPoint. 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_InSphere_Set_radius()

MRC_API void MR_InSphere_Set_radius ( MR_InSphere * _this,
float value )

Modifies a member variable of class MR::InSphere named radius. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in radius.

◆ MR_InSphereSearchSettings_AssignFromAnother()

MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_AssignFromAnother ( MR_InSphereSearchSettings * _this,
const MR_InSphereSearchSettings * _other )

Generated from method MR::InSphereSearchSettings::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_InSphereSearchSettings_ConstructFrom()

MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_ConstructFrom ( bool insideAndOutside,
float maxRadius,
int maxIters,
float minShrinkage,
float minAngleCos )

Constructs MR::InSphereSearchSettings elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_InSphereSearchSettings_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_InSphereSearchSettings_ConstructFromAnother()

MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_ConstructFromAnother ( const MR_InSphereSearchSettings * _other)

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

◆ MR_InSphereSearchSettings_DefaultConstruct()

MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_DefaultConstruct ( void )

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

◆ MR_InSphereSearchSettings_DefaultConstructArray()

MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_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_InSphereSearchSettings_DestroyArray(). Use MR_InSphereSearchSettings_OffsetMutablePtr() and MR_InSphereSearchSettings_OffsetPtr() to access the array elements.

◆ MR_InSphereSearchSettings_Destroy()

MRC_API void MR_InSphereSearchSettings_Destroy ( const MR_InSphereSearchSettings * _this)

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

◆ MR_InSphereSearchSettings_DestroyArray()

MRC_API void MR_InSphereSearchSettings_DestroyArray ( const MR_InSphereSearchSettings * _this)

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

◆ MR_InSphereSearchSettings_Get_insideAndOutside()

MRC_API const bool * MR_InSphereSearchSettings_Get_insideAndOutside ( const MR_InSphereSearchSettings * _this)

if false then searches for the maximal inscribed sphere in mesh; if true then searches for both a) maximal inscribed sphere, and b) maximal sphere outside the mesh touching it at two points; and returns the smaller of two, and if it is b) then with minus sign Returns a pointer to a member variable of class MR::InSphereSearchSettings named insideAndOutside. 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_InSphereSearchSettings_Get_maxIters()

MRC_API const int * MR_InSphereSearchSettings_Get_maxIters ( const MR_InSphereSearchSettings * _this)

maximum number of shrinking iterations for one triangle Returns a pointer to a member variable of class MR::InSphereSearchSettings named maxIters. 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_InSphereSearchSettings_Get_maxRadius()

MRC_API const float * MR_InSphereSearchSettings_Get_maxRadius ( const MR_InSphereSearchSettings * _this)

maximum allowed radius of the sphere; for almost closed meshes the article recommends maxRadius = 0.5f * std::min( { boxSize.x, boxSize.y, boxSize.z } ) Returns a pointer to a member variable of class MR::InSphereSearchSettings named maxRadius. 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_InSphereSearchSettings_Get_minAngleCos()

MRC_API const float * MR_InSphereSearchSettings_Get_minAngleCos ( const MR_InSphereSearchSettings * _this)

minimum cosine of the angle between two unit directions: 1) search unit direction (m.inDir), 2) unit direction from sphere's center to the other found touch point; -1 value means no filtering by this angle; the increase of this value helps avoiding too small spheres on noisy surfaces Returns a pointer to a member variable of class MR::InSphereSearchSettings named minAngleCos. 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_InSphereSearchSettings_Get_minShrinkage()

MRC_API const float * MR_InSphereSearchSettings_Get_minShrinkage ( const MR_InSphereSearchSettings * _this)

iterations stop if next radius is larger than minShrinkage times previous radius Returns a pointer to a member variable of class MR::InSphereSearchSettings named minShrinkage. 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_InSphereSearchSettings_GetMutable_insideAndOutside()

MRC_API bool * MR_InSphereSearchSettings_GetMutable_insideAndOutside ( MR_InSphereSearchSettings * _this)

if false then searches for the maximal inscribed sphere in mesh; if true then searches for both a) maximal inscribed sphere, and b) maximal sphere outside the mesh touching it at two points; and returns the smaller of two, and if it is b) then with minus sign Returns a mutable pointer to a member variable of class MR::InSphereSearchSettings named insideAndOutside. 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_InSphereSearchSettings_GetMutable_maxIters()

MRC_API int * MR_InSphereSearchSettings_GetMutable_maxIters ( MR_InSphereSearchSettings * _this)

maximum number of shrinking iterations for one triangle Returns a mutable pointer to a member variable of class MR::InSphereSearchSettings named maxIters. 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_InSphereSearchSettings_GetMutable_maxRadius()

MRC_API float * MR_InSphereSearchSettings_GetMutable_maxRadius ( MR_InSphereSearchSettings * _this)

maximum allowed radius of the sphere; for almost closed meshes the article recommends maxRadius = 0.5f * std::min( { boxSize.x, boxSize.y, boxSize.z } ) Returns a mutable pointer to a member variable of class MR::InSphereSearchSettings named maxRadius. 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_InSphereSearchSettings_GetMutable_minAngleCos()

MRC_API float * MR_InSphereSearchSettings_GetMutable_minAngleCos ( MR_InSphereSearchSettings * _this)

minimum cosine of the angle between two unit directions: 1) search unit direction (m.inDir), 2) unit direction from sphere's center to the other found touch point; -1 value means no filtering by this angle; the increase of this value helps avoiding too small spheres on noisy surfaces Returns a mutable pointer to a member variable of class MR::InSphereSearchSettings named minAngleCos. 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_InSphereSearchSettings_GetMutable_minShrinkage()

MRC_API float * MR_InSphereSearchSettings_GetMutable_minShrinkage ( MR_InSphereSearchSettings * _this)

iterations stop if next radius is larger than minShrinkage times previous radius Returns a mutable pointer to a member variable of class MR::InSphereSearchSettings named minShrinkage. 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_InSphereSearchSettings_OffsetMutablePtr()

MRC_API MR_InSphereSearchSettings * MR_InSphereSearchSettings_OffsetMutablePtr ( MR_InSphereSearchSettings * 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_InSphereSearchSettings_OffsetPtr()

MRC_API const MR_InSphereSearchSettings * MR_InSphereSearchSettings_OffsetPtr ( const MR_InSphereSearchSettings * 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_InSphereSearchSettings_Set_insideAndOutside()

MRC_API void MR_InSphereSearchSettings_Set_insideAndOutside ( MR_InSphereSearchSettings * _this,
bool value )

if false then searches for the maximal inscribed sphere in mesh; if true then searches for both a) maximal inscribed sphere, and b) maximal sphere outside the mesh touching it at two points; and returns the smaller of two, and if it is b) then with minus sign Modifies a member variable of class MR::InSphereSearchSettings named insideAndOutside. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in insideAndOutside.

◆ MR_InSphereSearchSettings_Set_maxIters()

MRC_API void MR_InSphereSearchSettings_Set_maxIters ( MR_InSphereSearchSettings * _this,
int value )

maximum number of shrinking iterations for one triangle Modifies a member variable of class MR::InSphereSearchSettings named maxIters. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in maxIters.

◆ MR_InSphereSearchSettings_Set_maxRadius()

MRC_API void MR_InSphereSearchSettings_Set_maxRadius ( MR_InSphereSearchSettings * _this,
float value )

maximum allowed radius of the sphere; for almost closed meshes the article recommends maxRadius = 0.5f * std::min( { boxSize.x, boxSize.y, boxSize.z } ) Modifies a member variable of class MR::InSphereSearchSettings named maxRadius. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in maxRadius.

◆ MR_InSphereSearchSettings_Set_minAngleCos()

MRC_API void MR_InSphereSearchSettings_Set_minAngleCos ( MR_InSphereSearchSettings * _this,
float value )

minimum cosine of the angle between two unit directions: 1) search unit direction (m.inDir), 2) unit direction from sphere's center to the other found touch point; -1 value means no filtering by this angle; the increase of this value helps avoiding too small spheres on noisy surfaces Modifies a member variable of class MR::InSphereSearchSettings named minAngleCos. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in minAngleCos.

◆ MR_InSphereSearchSettings_Set_minShrinkage()

MRC_API void MR_InSphereSearchSettings_Set_minShrinkage ( MR_InSphereSearchSettings * _this,
float value )

iterations stop if next radius is larger than minShrinkage times previous radius Modifies a member variable of class MR::InSphereSearchSettings named minShrinkage. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in minShrinkage.

◆ MR_MeshPoint_AssignFromAnother()

MRC_API MR_MeshPoint * MR_MeshPoint_AssignFromAnother ( MR_MeshPoint * _this,
MR_PassBy _other_pass_by,
MR_MeshPoint * _other )

Generated from method MR::MeshPoint::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_MeshPoint_ConstructFrom()

MRC_API MR_MeshPoint * MR_MeshPoint_ConstructFrom ( const MR_MeshTriPoint * triPoint,
MR_Vector3f pt,
MR_Vector3f inDir,
MR_PassBy notIncidentFaces_pass_by,
MR_std_function_bool_from_MR_FaceId * notIncidentFaces )

Constructs MR::MeshPoint elementwise. Parameter triPoint can not be null. It is a single object. The reference to the parameter triPoint might be preserved in the constructed object. The reference to the parameter pt might be preserved in the constructed object. The reference to the parameter inDir might be preserved in the constructed object. The reference to the parameter notIncidentFaces might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshPoint_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_MeshPoint_ConstructFromAnother()

MRC_API MR_MeshPoint * MR_MeshPoint_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_MeshPoint * _other )

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

◆ MR_MeshPoint_DefaultConstruct()

MRC_API MR_MeshPoint * MR_MeshPoint_DefaultConstruct ( void )

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

◆ MR_MeshPoint_DefaultConstructArray()

MRC_API MR_MeshPoint * MR_MeshPoint_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_MeshPoint_DestroyArray(). Use MR_MeshPoint_OffsetMutablePtr() and MR_MeshPoint_OffsetPtr() to access the array elements.

◆ MR_MeshPoint_Destroy()

MRC_API void MR_MeshPoint_Destroy ( const MR_MeshPoint * _this)

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

◆ MR_MeshPoint_DestroyArray()

MRC_API void MR_MeshPoint_DestroyArray ( const MR_MeshPoint * _this)

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

◆ MR_MeshPoint_Get_inDir()

MRC_API const MR_Vector3f * MR_MeshPoint_Get_inDir ( const MR_MeshPoint * _this)

unit direction inside the mesh = minus normal Modifies a member variable of class MR::MeshPoint named inDir. 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 inDir. When this function is called, this object will drop object references it had previously in inDir.

◆ MR_MeshPoint_Get_notIncidentFaces()

MRC_API const MR_std_function_bool_from_MR_FaceId * MR_MeshPoint_Get_notIncidentFaces ( const MR_MeshPoint * _this)

predicate that returns true for mesh faces not-incident to the point Modifies a member variable of class MR::MeshPoint named notIncidentFaces. 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 notIncidentFaces. When this function is called, this object will drop object references it had previously in notIncidentFaces.

◆ MR_MeshPoint_Get_pt()

MRC_API const MR_Vector3f * MR_MeshPoint_Get_pt ( const MR_MeshPoint * _this)

3d coordinates Modifies a member variable of class MR::MeshPoint named pt. 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 pt. When this function is called, this object will drop object references it had previously in pt.

◆ MR_MeshPoint_Get_triPoint()

MRC_API const MR_MeshTriPoint * MR_MeshPoint_Get_triPoint ( const MR_MeshPoint * _this)

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

◆ MR_MeshPoint_GetMutable_inDir()

MRC_API MR_Vector3f * MR_MeshPoint_GetMutable_inDir ( MR_MeshPoint * _this)

predicate that returns true for mesh faces not-incident to the point Returns a pointer to a member variable of class MR::MeshPoint named notIncidentFaces. 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_MeshPoint_GetMutable_notIncidentFaces()

MRC_API MR_std_function_bool_from_MR_FaceId * MR_MeshPoint_GetMutable_notIncidentFaces ( MR_MeshPoint * _this)

◆ MR_MeshPoint_GetMutable_pt()

MRC_API MR_Vector3f * MR_MeshPoint_GetMutable_pt ( MR_MeshPoint * _this)

unit direction inside the mesh = minus normal Returns a pointer to a member variable of class MR::MeshPoint named inDir. 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_MeshPoint_GetMutable_triPoint()

MRC_API MR_MeshTriPoint * MR_MeshPoint_GetMutable_triPoint ( MR_MeshPoint * _this)

3d coordinates Returns a pointer to a member variable of class MR::MeshPoint named pt. 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_MeshPoint_OffsetMutablePtr()

MRC_API MR_MeshPoint * MR_MeshPoint_OffsetMutablePtr ( MR_MeshPoint * 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_MeshPoint_OffsetPtr()

MRC_API const MR_MeshPoint * MR_MeshPoint_OffsetPtr ( const MR_MeshPoint * 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_MeshPoint_set()

MRC_API void MR_MeshPoint_set ( MR_MeshPoint * _this,
const MR_Mesh * mesh,
const MR_MeshTriPoint * p )

Generated from method MR::MeshPoint::set. Parameter _this can not be null. It is a single object. Parameter mesh can not be null. It is a single object. Parameter p can not be null. It is a single object.

◆ MR_MeshPoint_Set_inDir()

MRC_API void MR_MeshPoint_Set_inDir ( MR_MeshPoint * _this,
MR_Vector3f value )

unit direction inside the mesh = minus normal Returns a mutable pointer to a member variable of class MR::MeshPoint named inDir. 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_MeshPoint_Set_notIncidentFaces()

MRC_API void MR_MeshPoint_Set_notIncidentFaces ( MR_MeshPoint * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_MR_FaceId * value )

predicate that returns true for mesh faces not-incident to the point Returns a mutable pointer to a member variable of class MR::MeshPoint named notIncidentFaces. 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_MeshPoint_Set_pt()

MRC_API void MR_MeshPoint_Set_pt ( MR_MeshPoint * _this,
MR_Vector3f value )

3d coordinates Returns a mutable pointer to a member variable of class MR::MeshPoint named pt. 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_MeshPoint_Set_triPoint()

MRC_API void MR_MeshPoint_Set_triPoint ( MR_MeshPoint * _this,
const MR_MeshTriPoint * value )

relative position on mesh Returns a mutable pointer to a member variable of class MR::MeshPoint named triPoint. 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_rayInsideIntersect_MR_MeshPoint()

MRC_API MR_MeshIntersectionResult * MR_rayInsideIntersect_MR_MeshPoint ( const MR_Mesh * mesh,
const MR_MeshPoint * m,
const float * rayEnd )

returns the nearest intersection between the mesh and the ray from given point along minus normal (inside the mesh) Generated from function MR::rayInsideIntersect. Parameter mesh can not be null. It is a single object. Parameter m can not be null. It is a single object. Parameter rayEnd has a default argument: 3.40282347e38f, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshIntersectionResult_Destroy() to free it when you're done using it.

◆ MR_rayInsideIntersect_MR_VertId()

MRC_API MR_MeshIntersectionResult * MR_rayInsideIntersect_MR_VertId ( const MR_Mesh * mesh,
MR_VertId v,
const float * rayEnd )

Generated from function MR::rayInsideIntersect. Parameter mesh can not be null. It is a single object. Parameter rayEnd has a default argument: 3.40282347e38f, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshIntersectionResult_Destroy() to free it when you're done using it.