MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshDistance.h File Reference
#include <MRCMisc/exports.h>
#include <stdbool.h>

Go to the source code of this file.

Typedefs

typedef struct MR_MeshPart MR_MeshPart
 
typedef struct MR_SignedDistanceToMeshOptions MR_SignedDistanceToMeshOptions
 
typedef struct MR_Vector3f MR_Vector3f
 
typedef struct MR_std_array_MR_Vector3f_3 MR_std_array_MR_Vector3f_3
 
typedef struct MR_std_function_MR_ProcessOneResult_from_const_MR_Vector3f_ref_MR_FaceId_const_MR_Vector3f_ref_float MR_std_function_MR_ProcessOneResult_from_const_MR_Vector3f_ref_MR_FaceId_const_MR_Vector3f_ref_float
 
typedef struct MR_std_optional_float MR_std_optional_float
 
typedef bool MR_ProcessOneResult
 

Enumerations

enum  { MR_ProcessOneResult_StopProcessing = 0 , MR_ProcessOneResult_ContinueProcessing = 1 }
 

Functions

MRC_API void MR_processCloseTriangles (const MR_MeshPart *mp, const MR_std_array_MR_Vector3f_3 *t, float rangeSq, const MR_std_function_MR_ProcessOneResult_from_const_MR_Vector3f_ref_MR_FaceId_const_MR_Vector3f_ref_float *call)
 
MRC_API MR_std_optional_floatMR_signedDistanceToMesh (const MR_MeshPart *mp, const MR_Vector3f *p, const MR_SignedDistanceToMeshOptions *op)
 

Typedef Documentation

◆ MR_MeshPart

typedef struct MR_MeshPart MR_MeshPart

◆ MR_ProcessOneResult

typedef bool MR_ProcessOneResult

◆ MR_SignedDistanceToMeshOptions

◆ MR_std_array_MR_Vector3f_3

typedef struct MR_std_array_MR_Vector3f_3 MR_std_array_MR_Vector3f_3

◆ MR_std_function_MR_ProcessOneResult_from_const_MR_Vector3f_ref_MR_FaceId_const_MR_Vector3f_ref_float

◆ MR_std_optional_float

◆ MR_Vector3f

typedef struct MR_Vector3f MR_Vector3f

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MR_ProcessOneResult_StopProcessing 
MR_ProcessOneResult_ContinueProcessing 

Function Documentation

◆ MR_processCloseTriangles()

invokes given callback for all triangles from given mesh part located not further than given squared distance from t-triangle Generated from function MR::processCloseTriangles. Parameter mp can not be null. It is a single object. Parameter t can not be null. It is a single object. Parameter call can not be null. It is a single object.

◆ MR_signedDistanceToMesh()

MRC_API MR_std_optional_float * MR_signedDistanceToMesh ( const MR_MeshPart * mp,
const MR_Vector3f * p,
const MR_SignedDistanceToMeshOptions * op )

computes signed distance from point (p) to mesh part (mp) following options (op); returns std::nullopt if distance is smaller than op.minDist or larger than op.maxDist (except for op.signMode == HoleWindingRule) Generated from function MR::signedDistanceToMesh. Parameter mp can not be null. It is a single object. Parameter p can not be null. It is a single object. Parameter op can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_float_Destroy() to free it when you're done using it.