MeshLib C Docs
Loading...
Searching...
No Matches
MRInSphere.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8#include <stdint.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_Vector3d MR_Vector3d; // Defined in `#include <MRCMesh/MRVector3.h>`.
15typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
16typedef struct MR_Vector3i MR_Vector3i; // Defined in `#include <MRCMesh/MRVector3.h>`.
17typedef struct MR_std_array_MR_PreciseVertCoords_4 MR_std_array_MR_PreciseVertCoords_4; // Defined in `#include <MRCMisc/std_array_MR_PreciseVertCoords_4.h>`.
18
19
35
48
61
67
79MRC_API MR_InSphereResult MR_inSphere_5(const MR_Vector3i *a, const MR_Vector3i *b, const MR_Vector3i *c, const MR_Vector3i *d, int64_t rSq);
80
103
107
112
116
120
126
129
132
140
151MRC_API bool MR_InSphereTester_float_reset(MR_InSphereTester_float *_this, const MR_Vector3f *va, const MR_Vector3f *vb, const MR_Vector3f *vc, float sqRadius);
152
159
163
168
172
176
182
185
188
196
207MRC_API bool MR_InSphereTester_double_reset(MR_InSphereTester_double *_this, const MR_Vector3d *va, const MR_Vector3d *vb, const MR_Vector3d *vc, double sqRadius);
208
215
219
224
228
232
237
240
243
250
261MRC_API bool MR_InSphereTester_int_reset(MR_InSphereTester_int *_this, const MR_Vector3i *a, const MR_Vector3i *b, const MR_Vector3i *c, int64_t rSq);
262
269
279
289
299
300#ifdef __cplusplus
301} // extern "C"
302#endif
MRC_API void MR_InSphereTester_int_Destroy(const MR_InSphereTester_int *_this)
Destroys a heap-allocated instance of MR_InSphereTester_int. Does nothing if the pointer is null.
MRC_API MR_InSphereResult MR_inSphere_double(const MR_Vector3d *a, const MR_Vector3d *b, const MR_Vector3d *c, const MR_Vector3d *d, double rSq)
MRC_API const MR_InSphereTester_float * MR_InSphereTester_float_OffsetPtr(const MR_InSphereTester_float *ptr, ptrdiff_t i)
MRC_API MR_InSphereTester_float * MR_InSphereTester_float_AssignFromAnother(MR_InSphereTester_float *_this, const MR_InSphereTester_float *_other)
MRC_API MR_InSphereResult MR_InSphereTester_int_call_MR_Vector3i(const MR_InSphereTester_int *_this, const MR_Vector3i *d)
MRC_API MR_InSphereTester_double * MR_InSphereTester_double_AssignFromAnother(MR_InSphereTester_double *_this, const MR_InSphereTester_double *_other)
MRC_API void MR_InSphereTester_double_Destroy(const MR_InSphereTester_double *_this)
Destroys a heap-allocated instance of MR_InSphereTester_double. Does nothing if the pointer is null.
MRC_API MR_InSphereTester_int * MR_InSphereTester_int_DefaultConstructArray(size_t num_elems)
MRC_API MR_InSphereTester_double * MR_InSphereTester_double_DefaultConstructArray(size_t num_elems)
MRC_API MR_InSphereResult MR_InSphereTester_float_call(const MR_InSphereTester_float *_this, const MR_Vector3f *d)
struct MR_InSphereTester_int MR_InSphereTester_int
Definition MRInSphere.h:66
MRC_API MR_InSphereTester_float * MR_InSphereTester_float_DefaultConstruct(void)
MRC_API void MR_InSphereTester_float_Destroy(const MR_InSphereTester_float *_this)
Destroys a heap-allocated instance of MR_InSphereTester_float. Does nothing if the pointer is null.
MRC_API MR_InSphereTester_int * MR_InSphereTester_int_OffsetMutablePtr(MR_InSphereTester_int *ptr, ptrdiff_t i)
MRC_API const MR_InSphereTester_int * MR_InSphereTester_int_OffsetPtr(const MR_InSphereTester_int *ptr, ptrdiff_t i)
MRC_API MR_InSphereTester_double * MR_InSphereTester_double_DefaultConstruct(void)
MRC_API MR_InSphereResult MR_inSphere_5(const MR_Vector3i *a, const MR_Vector3i *b, const MR_Vector3i *c, const MR_Vector3i *d, int64_t rSq)
MRC_API MR_InSphereTester_float * MR_InSphereTester_float_DefaultConstructArray(size_t num_elems)
MRC_API void MR_InSphereTester_float_DestroyArray(const MR_InSphereTester_float *_this)
Destroys a heap-allocated array of MR_InSphereTester_float. Does nothing if the pointer is null.
MRC_API const MR_InSphereTester_double * MR_InSphereTester_double_OffsetPtr(const MR_InSphereTester_double *ptr, ptrdiff_t i)
MRC_API MR_InSphereResult MR_InSphereTester_double_call(const MR_InSphereTester_double *_this, const MR_Vector3d *d)
MRC_API MR_InSphereTester_double * MR_InSphereTester_double_ConstructFromAnother(const MR_InSphereTester_double *_other)
MRC_API MR_InSphereResult MR_inSphere_float(const MR_Vector3f *a, const MR_Vector3f *b, const MR_Vector3f *c, const MR_Vector3f *d, float rSq)
MRC_API MR_InSphereTester_int * MR_InSphereTester_int_AssignFromAnother(MR_InSphereTester_int *_this, MR_PassBy _other_pass_by, MR_InSphereTester_int *_other)
MRC_API MR_InSphereResult MR_inSphere_2(const MR_std_array_MR_PreciseVertCoords_4 *vs, int64_t rSq)
MRC_API void MR_InSphereTester_double_DestroyArray(const MR_InSphereTester_double *_this)
Destroys a heap-allocated array of MR_InSphereTester_double. Does nothing if the pointer is null.
MRC_API bool MR_InSphereTester_int_reset(MR_InSphereTester_int *_this, const MR_Vector3i *a, const MR_Vector3i *b, const MR_Vector3i *c, int64_t rSq)
struct MR_InSphereTester_float MR_InSphereTester_float
Definition MRInSphere.h:47
MRC_API MR_InSphereTester_int * MR_InSphereTester_int_ConstructFromAnother(MR_PassBy _other_pass_by, MR_InSphereTester_int *_other)
MRC_API MR_InSphereTester_int * MR_InSphereTester_int_DefaultConstruct(void)
MRC_API MR_InSphereResult MR_InSphereTester_int_call_std_array_MR_PreciseVertCoords_4(const MR_InSphereTester_int *_this, const MR_std_array_MR_PreciseVertCoords_4 *vs)
MRC_API MR_InSphereTester_double * MR_InSphereTester_double_OffsetMutablePtr(MR_InSphereTester_double *ptr, ptrdiff_t i)
MRC_API bool MR_InSphereTester_float_reset(MR_InSphereTester_float *_this, const MR_Vector3f *va, const MR_Vector3f *vb, const MR_Vector3f *vc, float sqRadius)
struct MR_InSphereTester_double MR_InSphereTester_double
Definition MRInSphere.h:60
MRC_API MR_InSphereTester_float * MR_InSphereTester_float_ConstructFromAnother(const MR_InSphereTester_float *_other)
MRC_API MR_InSphereTester_float * MR_InSphereTester_float_OffsetMutablePtr(MR_InSphereTester_float *ptr, ptrdiff_t i)
MRC_API void MR_InSphereTester_int_DestroyArray(const MR_InSphereTester_int *_this)
Destroys a heap-allocated array of MR_InSphereTester_int. Does nothing if the pointer is null.
MR_InSphereResult
the result of inSphere predicates
Definition MRInSphere.h:22
@ MR_InSphereResult_Inside
the sphere exists, and the point D is strictly inside
Definition MRInSphere.h:33
@ MR_InSphereResult_OnSphere
Definition MRInSphere.h:31
@ MR_InSphereResult_Outside
the sphere exists, and the point D is strictly outside
Definition MRInSphere.h:27
@ MR_InSphereResult_NoSphere
Definition MRInSphere.h:25
MRC_API bool MR_InSphereTester_double_reset(MR_InSphereTester_double *_this, const MR_Vector3d *va, const MR_Vector3d *vb, const MR_Vector3d *vc, double sqRadius)
struct MR_std_array_MR_PreciseVertCoords_4 MR_std_array_MR_PreciseVertCoords_4
Definition MRInSphere.h:17
MR_PassBy
Definition common.h:13
#define MRC_API
Definition include/MRCMisc/exports.h:11
Generated from class MR::Vector3d.
Definition MRVector3.h:55
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Generated from class MR::Vector3i.
Definition MRVector3.h:63