struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_AABBTree MR_AABBTree
Definition MRAABBTree.h:23
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
struct MR_MeshTriPoint MR_MeshTriPoint
Definition MRAggregateFlow.h:13
struct MR_Plane3f MR_Plane3f
Definition MRBestFit.h:23
struct MR_std_vector_float MR_std_vector_float
Definition MRBestFit.h:27
struct MR_Line3d MR_Line3d
Definition MRBestFit.h:17
struct MR_Line3f MR_Line3f
Definition MRBestFit.h:18
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:26
struct MR_BitSet MR_BitSet
Definition MRBitSet.h:179
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
struct MR_std_function_bool_from_MR_FaceId MR_std_function_bool_from_MR_FaceId
Definition MREnumNeighbours.h:18
struct MR_PointOnFace MR_PointOnFace
Definition MREnumNeighbours.h:15
struct MR_IntersectionPrecomputes_float MR_IntersectionPrecomputes_float
Definition MRIntersectionPrecomputes.h:17
struct MR_IntersectionPrecomputes_double MR_IntersectionPrecomputes_double
Definition MRIntersectionPrecomputes.h:22
MRC_API void MR_Line3Mesh_double_Set_tree(MR_Line3Mesh_double *_this, const MR_AABBTree *value)
MRC_API const MR_MeshTriPoint * MR_MeshIntersectionResult_Get_mtp(const MR_MeshIntersectionResult *_this)
MRC_API float * MR_MeshIntersectionResult_GetMutable_distanceAlongLine(MR_MeshIntersectionResult *_this)
MRC_API const float * MR_MeshIntersectionResult_Get_distanceAlongLine(const MR_MeshIntersectionResult *_this)
MRC_API MR_MultiMeshIntersectionResult * MR_MultiMeshIntersectionResult_OffsetMutablePtr(MR_MultiMeshIntersectionResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_MeshIntersectionResult * MR_MeshIntersectionResult_ConstructFromAnother(const MR_MeshIntersectionResult *_other)
MRC_API void MR_MultiRayMeshIntersectResult_Set_isectPts(MR_MultiRayMeshIntersectResult *_this, MR_std_vector_MR_Vector3f *value)
MRC_API MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_AssignFromAnother(MR_MultiRayMeshIntersectResult *_this, const MR_MultiRayMeshIntersectResult *_other)
MRC_API void MR_rayMeshIntersectAll_MR_Line3d(const MR_MeshPart *meshPart, const MR_Line3d *line, MR_PassBy callback_pass_by, MR_std_function_bool_from_const_MR_MeshIntersectionResult_ref *callback, const double *rayStart, const double *rayEnd, const MR_IntersectionPrecomputes_double *prec)
MRC_API MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_OffsetMutablePtr(MR_MultiRayMeshIntersectResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_Line3Mesh_float_Set_prec(MR_Line3Mesh_float *_this, MR_IntersectionPrecomputes_float *value)
MRC_API MR_MeshIntersectionResult * MR_rayMeshIntersect_MR_Line3f(const MR_MeshPart *meshPart, const MR_Line3f *line, const float *rayStart, const float *rayEnd, const MR_IntersectionPrecomputes_float *prec, const bool *closestIntersect, const MR_std_function_bool_from_MR_FaceId *validFaces)
MRC_API void MR_Line3Mesh_float_DestroyArray(const MR_Line3Mesh_float *_this)
Destroys a heap-allocated array of MR_Line3Mesh_float. Does nothing if the pointer is null.
MRC_API MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_DefaultConstruct(void)
MRC_API const MR_Mesh *const * MR_MultiMeshIntersectionResult_Get_mesh(const MR_MultiMeshIntersectionResult *_this)
MRC_API MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_ConstructFrom(MR_BitSet *intersectingRays, MR_std_vector_float *rayDistances, MR_std_vector_MR_FaceId *isectFaces, MR_std_vector_MR_TriPointf *isectBary, MR_std_vector_MR_Vector3f *isectPts)
MRC_API const MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_OffsetPtr(const MR_MultiRayMeshIntersectResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_std_vector_MR_FaceId ** MR_MultiRayMeshIntersectResult_GetMutable_isectFaces(MR_MultiRayMeshIntersectResult *_this)
MRC_API MR_std_vector_MR_Vector3f *const * MR_MultiRayMeshIntersectResult_Get_isectPts(const MR_MultiRayMeshIntersectResult *_this)
MRC_API void MR_Line3Mesh_float_Set_mesh(MR_Line3Mesh_float *_this, const MR_Mesh *value)
MRC_API const MR_AABBTree ** MR_Line3Mesh_float_GetMutable_tree(MR_Line3Mesh_float *_this)
MRC_API MR_MultiMeshIntersectionResult * MR_rayMultiMeshAnyIntersect_std_vector_MR_Line3Mesh_double(const MR_std_vector_MR_Line3Mesh_double *lineMeshes, const double *rayStart, const double *rayEnd)
MRC_API void MR_MeshIntersectionResult_Destroy(const MR_MeshIntersectionResult *_this)
Destroys a heap-allocated instance of MR_MeshIntersectionResult. Does nothing if the pointer is null.
MRC_API MR_Line3d * MR_Line3Mesh_double_GetMutable_line(MR_Line3Mesh_double *_this)
struct MR_std_function_bool_from_const_MR_MeshIntersectionResult_ref MR_std_function_bool_from_const_MR_MeshIntersectionResult_ref
Definition MRMeshIntersect.h:28
MRC_API const MR_MeshIntersectionResult * MR_MultiMeshIntersectionResult_UpcastTo_MR_MeshIntersectionResult(const MR_MultiMeshIntersectionResult *object)
MRC_API MR_Line3Mesh_double * MR_Line3Mesh_double_OffsetMutablePtr(MR_Line3Mesh_double *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_Mesh ** MR_MultiMeshIntersectionResult_GetMutable_mesh(MR_MultiMeshIntersectionResult *_this)
MRC_API const MR_Mesh ** MR_Line3Mesh_float_GetMutable_mesh(MR_Line3Mesh_float *_this)
MRC_API const MR_AABBTree *const * MR_Line3Mesh_float_Get_tree(const MR_Line3Mesh_float *_this)
MRC_API void MR_Line3Mesh_double_Set_mesh(MR_Line3Mesh_double *_this, const MR_Mesh *value)
MRC_API MR_Line3Mesh_float * MR_Line3Mesh_float_ConstructFromAnother(const MR_Line3Mesh_float *_other)
MRC_API MR_BitSet *const * MR_MultiRayMeshIntersectResult_Get_intersectingRays(const MR_MultiRayMeshIntersectResult *_this)
MRC_API void MR_multiRayMeshIntersect(const MR_MeshPart *meshPart, const MR_std_vector_MR_Vector3f *origins, const MR_std_vector_MR_Vector3f *dirs, const MR_MultiRayMeshIntersectResult *result, const float *rayStart, const float *rayEnd, const bool *closestIntersect, const MR_std_function_bool_from_MR_FaceId *validFaces)
struct MR_Line3Mesh_float MR_Line3Mesh_float
Generated from class MR::Line3Mesh<float>.
Definition MRMeshIntersect.h:53
struct MR_std_vector_MR_Line3Mesh_float MR_std_vector_MR_Line3Mesh_float
Definition MRMeshIntersect.h:31
MRC_API void MR_MultiMeshIntersectionResult_DestroyArray(const MR_MultiMeshIntersectionResult *_this)
Destroys a heap-allocated array of MR_MultiMeshIntersectionResult. Does nothing if the pointer is nul...
MRC_API const MR_Mesh *const * MR_Line3Mesh_float_Get_mesh(const MR_Line3Mesh_float *_this)
MRC_API void MR_Line3Mesh_float_Set_region(MR_Line3Mesh_float *_this, const MR_FaceBitSet *value)
MRC_API MR_MeshIntersectionResult * MR_rayMeshIntersect_MR_Line3d(const MR_MeshPart *meshPart, const MR_Line3d *line, const double *rayStart, const double *rayEnd, const MR_IntersectionPrecomputes_double *prec, const bool *closestIntersect, const MR_std_function_bool_from_MR_FaceId *validFaces)
MRC_API void MR_MeshIntersectionResult_DestroyArray(const MR_MeshIntersectionResult *_this)
Destroys a heap-allocated array of MR_MeshIntersectionResult. Does nothing if the pointer is null.
MRC_API MR_MeshIntersectionResult * MR_MultiMeshIntersectionResult_MutableUpcastTo_MR_MeshIntersectionResult(MR_MultiMeshIntersectionResult *object)
Upcasts an instance of MR::MultiMeshIntersectionResult to its base class MR::MeshIntersectionResult.
MRC_API MR_IntersectionPrecomputes_float *const * MR_Line3Mesh_float_Get_prec(const MR_Line3Mesh_float *_this)
MRC_API void MR_MeshIntersectionResult_Set_proj(MR_MeshIntersectionResult *_this, const MR_PointOnFace *value)
MRC_API const MR_Mesh *const * MR_Line3Mesh_double_Get_mesh(const MR_Line3Mesh_double *_this)
MRC_API const MR_Line3Mesh_double * MR_Line3Mesh_double_OffsetPtr(const MR_Line3Mesh_double *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_Line3Mesh_double MR_Line3Mesh_double
Generated from class MR::Line3Mesh<double>.
Definition MRMeshIntersect.h:56
MRC_API const MR_Line3d * MR_Line3Mesh_double_Get_line(const MR_Line3Mesh_double *_this)
MRC_API void MR_Line3Mesh_float_Set_line(MR_Line3Mesh_float *_this, const MR_Line3f *value)
MRC_API MR_MultiMeshIntersectionResult * MR_MultiMeshIntersectionResult_ConstructFromAnother(const MR_MultiMeshIntersectionResult *_other)
MRC_API MR_Line3Mesh_float * MR_Line3Mesh_float_OffsetMutablePtr(MR_Line3Mesh_float *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_Line3Mesh_float_Destroy(const MR_Line3Mesh_float *_this)
Destroys a heap-allocated instance of MR_Line3Mesh_float. Does nothing if the pointer is null.
MRC_API MR_IntersectionPrecomputes_double *const * MR_Line3Mesh_double_Get_prec(const MR_Line3Mesh_double *_this)
MRC_API void MR_MultiMeshIntersectionResult_Destroy(const MR_MultiMeshIntersectionResult *_this)
Destroys a heap-allocated instance of MR_MultiMeshIntersectionResult. Does nothing if the pointer is ...
MRC_API const MR_MeshIntersectionResult * MR_MeshIntersectionResult_OffsetPtr(const MR_MeshIntersectionResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_MultiRayMeshIntersectResult_DestroyArray(const MR_MultiRayMeshIntersectResult *_this)
Destroys a heap-allocated array of MR_MultiRayMeshIntersectResult. Does nothing if the pointer is nul...
MRC_API const MR_FaceBitSet ** MR_Line3Mesh_double_GetMutable_region(MR_Line3Mesh_double *_this)
MRC_API MR_IntersectionPrecomputes_double ** MR_Line3Mesh_double_GetMutable_prec(MR_Line3Mesh_double *_this)
struct MR_MultiRayMeshIntersectResult MR_MultiRayMeshIntersectResult
Generated from class MR::MultiRayMeshIntersectResult.
Definition MRMeshIntersect.h:44
MRC_API MR_MeshIntersectionResult * MR_MeshIntersectionResult_ConstructFrom(const MR_PointOnFace *proj, const MR_MeshTriPoint *mtp, float distanceAlongLine)
MRC_API const MR_AABBTree *const * MR_Line3Mesh_double_Get_tree(const MR_Line3Mesh_double *_this)
MRC_API void MR_Line3Mesh_double_DestroyArray(const MR_Line3Mesh_double *_this)
Destroys a heap-allocated array of MR_Line3Mesh_double. Does nothing if the pointer is null.
MRC_API void MR_Line3Mesh_double_Set_line(MR_Line3Mesh_double *_this, const MR_Line3d *value)
MRC_API MR_Line3Mesh_float * MR_Line3Mesh_float_ConstructFrom(const MR_Line3f *line, MR_IntersectionPrecomputes_float *prec, const MR_Mesh *mesh, const MR_AABBTree *tree, const MR_FaceBitSet *region)
MRC_API MR_BitSet ** MR_MultiRayMeshIntersectResult_GetMutable_intersectingRays(MR_MultiRayMeshIntersectResult *_this)
MRC_API MR_MeshTriPoint * MR_MeshIntersectionResult_GetMutable_mtp(MR_MeshIntersectionResult *_this)
MRC_API MR_Line3f * MR_Line3Mesh_float_GetMutable_line(MR_Line3Mesh_float *_this)
MRC_API MR_std_vector_MR_TriPointf ** MR_MultiRayMeshIntersectResult_GetMutable_isectBary(MR_MultiRayMeshIntersectResult *_this)
MRC_API const MR_Line3Mesh_float * MR_Line3Mesh_float_OffsetPtr(const MR_Line3Mesh_float *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_Line3Mesh_double * MR_Line3Mesh_double_ConstructFrom(const MR_Line3d *line, MR_IntersectionPrecomputes_double *prec, const MR_Mesh *mesh, const MR_AABBTree *tree, const MR_FaceBitSet *region)
MRC_API void MR_MultiMeshIntersectionResult_Set_mesh(MR_MultiMeshIntersectionResult *_this, const MR_Mesh *value)
MRC_API MR_std_vector_MR_FaceId *const * MR_MultiRayMeshIntersectResult_Get_isectFaces(const MR_MultiRayMeshIntersectResult *_this)
MRC_API const MR_AABBTree ** MR_Line3Mesh_double_GetMutable_tree(MR_Line3Mesh_double *_this)
MRC_API void MR_MultiRayMeshIntersectResult_Destroy(const MR_MultiRayMeshIntersectResult *_this)
Destroys a heap-allocated instance of MR_MultiRayMeshIntersectResult. Does nothing if the pointer is ...
struct MR_std_vector_MR_Line3Mesh_double MR_std_vector_MR_Line3Mesh_double
Definition MRMeshIntersect.h:30
MRC_API MR_MeshIntersectionResult * MR_MeshIntersectionResult_DefaultConstructArray(size_t num_elems)
MRC_API const MR_FaceBitSet ** MR_Line3Mesh_float_GetMutable_region(MR_Line3Mesh_float *_this)
MRC_API const MR_FaceBitSet *const * MR_Line3Mesh_double_Get_region(const MR_Line3Mesh_double *_this)
MRC_API const MR_FaceBitSet *const * MR_Line3Mesh_float_Get_region(const MR_Line3Mesh_float *_this)
MRC_API void MR_MultiRayMeshIntersectResult_Set_rayDistances(MR_MultiRayMeshIntersectResult *_this, MR_std_vector_float *value)
MRC_API MR_std_vector_float *const * MR_MultiRayMeshIntersectResult_Get_rayDistances(const MR_MultiRayMeshIntersectResult *_this)
MRC_API MR_std_vector_MR_TriPointf *const * MR_MultiRayMeshIntersectResult_Get_isectBary(const MR_MultiRayMeshIntersectResult *_this)
MRC_API const MR_MultiMeshIntersectionResult * MR_MultiMeshIntersectionResult_OffsetPtr(const MR_MultiMeshIntersectionResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_std_vector_MR_Vector3f ** MR_MultiRayMeshIntersectResult_GetMutable_isectPts(MR_MultiRayMeshIntersectResult *_this)
MRC_API MR_std_vector_float ** MR_MultiRayMeshIntersectResult_GetMutable_rayDistances(MR_MultiRayMeshIntersectResult *_this)
MRC_API void MR_Line3Mesh_double_Set_prec(MR_Line3Mesh_double *_this, MR_IntersectionPrecomputes_double *value)
struct MR_MultiMeshIntersectionResult MR_MultiMeshIntersectionResult
Definition MRMeshIntersect.h:50
MRC_API MR_Line3Mesh_float * MR_Line3Mesh_float_DefaultConstructArray(size_t num_elems)
struct MR_std_vector_MR_TriPointf MR_std_vector_MR_TriPointf
Definition MRMeshIntersect.h:32
MRC_API MR_Line3Mesh_float * MR_Line3Mesh_float_DefaultConstruct(void)
MRC_API bool MR_MeshIntersectionResult_ConvertTo_bool(const MR_MeshIntersectionResult *_this)
MRC_API MR_MultiMeshIntersectionResult * MR_rayMultiMeshAnyIntersect_std_vector_MR_Line3Mesh_float(const MR_std_vector_MR_Line3Mesh_float *lineMeshes, const float *rayStart, const float *rayEnd)
MRC_API MR_IntersectionPrecomputes_float ** MR_Line3Mesh_float_GetMutable_prec(MR_Line3Mesh_float *_this)
MRC_API MR_MeshIntersectionResult * MR_MeshIntersectionResult_DefaultConstruct(void)
MRC_API MR_MultiMeshIntersectionResult * MR_MultiMeshIntersectionResult_DefaultConstructArray(size_t num_elems)
MRC_API MR_Line3Mesh_double * MR_Line3Mesh_double_DefaultConstruct(void)
MRC_API MR_MultiMeshIntersectionResult * MR_MultiMeshIntersectionResult_AssignFromAnother(MR_MultiMeshIntersectionResult *_this, const MR_MultiMeshIntersectionResult *_other)
MRC_API void MR_planeMeshIntersect(const MR_MeshPart *meshPart, const MR_Plane3f *plane, MR_FaceBitSet *fs, MR_UndirectedEdgeBitSet *ues, MR_VertBitSet *vs, MR_std_vector_MR_FaceId *fsVec)
MRC_API const MR_PointOnFace * MR_MeshIntersectionResult_Get_proj(const MR_MeshIntersectionResult *_this)
MRC_API void MR_MeshIntersectionResult_Set_distanceAlongLine(MR_MeshIntersectionResult *_this, float value)
MRC_API MR_MeshIntersectionResult * MR_MeshIntersectionResult_OffsetMutablePtr(MR_MeshIntersectionResult *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_MeshIntersectionResult MR_MeshIntersectionResult
Definition MRMeshIntersect.h:41
MRC_API void MR_MultiRayMeshIntersectResult_Set_isectFaces(MR_MultiRayMeshIntersectResult *_this, MR_std_vector_MR_FaceId *value)
MRC_API void MR_Line3Mesh_float_Set_tree(MR_Line3Mesh_float *_this, const MR_AABBTree *value)
MRC_API MR_Line3Mesh_float * MR_Line3Mesh_float_AssignFromAnother(MR_Line3Mesh_float *_this, const MR_Line3Mesh_float *_other)
MRC_API MR_Line3Mesh_double * MR_Line3Mesh_double_AssignFromAnother(MR_Line3Mesh_double *_this, const MR_Line3Mesh_double *_other)
MRC_API void MR_xyPlaneMeshIntersect(const MR_MeshPart *meshPart, float zLevel, MR_FaceBitSet *fs, MR_UndirectedEdgeBitSet *ues, MR_VertBitSet *vs, MR_std_vector_MR_FaceId *fsVec)
MRC_API MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_ConstructFromAnother(const MR_MultiRayMeshIntersectResult *_other)
MRC_API const MR_Mesh ** MR_Line3Mesh_double_GetMutable_mesh(MR_Line3Mesh_double *_this)
MRC_API void MR_Line3Mesh_double_Destroy(const MR_Line3Mesh_double *_this)
Destroys a heap-allocated instance of MR_Line3Mesh_double. Does nothing if the pointer is null.
MRC_API void MR_MeshIntersectionResult_Set_mtp(MR_MeshIntersectionResult *_this, const MR_MeshTriPoint *value)
MRC_API MR_MeshIntersectionResult * MR_MeshIntersectionResult_AssignFromAnother(MR_MeshIntersectionResult *_this, const MR_MeshIntersectionResult *_other)
MRC_API void MR_Line3Mesh_double_Set_region(MR_Line3Mesh_double *_this, const MR_FaceBitSet *value)
MRC_API MR_MultiRayMeshIntersectResult * MR_MultiRayMeshIntersectResult_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Line3f * MR_Line3Mesh_float_Get_line(const MR_Line3Mesh_float *_this)
MRC_API MR_MultiMeshIntersectionResult * MR_MultiMeshIntersectionResult_DefaultConstruct(void)
MRC_API MR_MultiMeshIntersectionResult * MR_MeshIntersectionResult_MutableStaticDowncastTo_MR_MultiMeshIntersectionResult(MR_MeshIntersectionResult *object)
MRC_API void MR_rayMeshIntersectAll_MR_Line3f(const MR_MeshPart *meshPart, const MR_Line3f *line, MR_PassBy callback_pass_by, MR_std_function_bool_from_const_MR_MeshIntersectionResult_ref *callback, const float *rayStart, const float *rayEnd, const MR_IntersectionPrecomputes_float *prec)
MRC_API MR_Line3Mesh_double * MR_Line3Mesh_double_ConstructFromAnother(const MR_Line3Mesh_double *_other)
MRC_API MR_Line3Mesh_double * MR_Line3Mesh_double_DefaultConstructArray(size_t num_elems)
MRC_API void MR_MultiRayMeshIntersectResult_Set_intersectingRays(MR_MultiRayMeshIntersectResult *_this, MR_BitSet *value)
MRC_API const MR_MultiMeshIntersectionResult * MR_MeshIntersectionResult_StaticDowncastTo_MR_MultiMeshIntersectionResult(const MR_MeshIntersectionResult *object)
MRC_API MR_PointOnFace * MR_MeshIntersectionResult_GetMutable_proj(MR_MeshIntersectionResult *_this)
MRC_API void MR_MultiRayMeshIntersectResult_Set_isectBary(MR_MultiRayMeshIntersectResult *_this, MR_std_vector_MR_TriPointf *value)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11