MeshLib C Docs
Loading...
Searching...
No Matches
MRIntersectionPrecomputes.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
4#include <MRCMisc/exports.h>
5
6#include <stddef.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12
17
22
23// {1 / dir}
28
29// {1 / dir}
33
34// {1 / dir}
39
40// [0]max, [1]next, [2]next-next
41// f.e. {1,2,-3} => {2,1,0}
46
47// [0]max, [1]next, [2]next-next
48// f.e. {1,2,-3} => {2,1,0}
52
53// [0]max, [1]next, [2]next-next
54// f.e. {1,2,-3} => {2,1,0}
59
64
68
73
78
82
87
93
98
104
110
115
121
127
132
138
144
149
155
159
164
167
170
175
180
183
186
192
193// {1 / dir}
198
199// {1 / dir}
203
204// {1 / dir}
209
210// [0]max, [1]next, [2]next-next
211// f.e. {1,2,-3} => {2,1,0}
216
217// [0]max, [1]next, [2]next-next
218// f.e. {1,2,-3} => {2,1,0}
222
223// [0]max, [1]next, [2]next-next
224// f.e. {1,2,-3} => {2,1,0}
229
234
238
243
248
252
257
263
268
274
280
285
291
297
302
308
314
319
325
329
334
337
340
345
350
353
356
362
376MRC_API void MR_findMaxVectorDim_float(int *dimX, int *dimY, int *dimZ, const MR_Vector3f *dir);
377
391MRC_API void MR_findMaxVectorDim_double(int *dimX, int *dimY, int *dimZ, const MR_Vector3d *dir);
392
393#ifdef __cplusplus
394} // extern "C"
395#endif
MRC_API void MR_IntersectionPrecomputes_double_Set_Sy(MR_IntersectionPrecomputes_double *_this, double value)
MRC_API void MR_IntersectionPrecomputes_double_Set_Sz(MR_IntersectionPrecomputes_double *_this, double value)
MRC_API MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_OffsetMutablePtr(MR_IntersectionPrecomputes_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 float * MR_IntersectionPrecomputes_float_GetMutable_Sx(MR_IntersectionPrecomputes_float *_this)
MRC_API MR_Vector3f * MR_IntersectionPrecomputes_float_GetMutable_invDir(MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_findMaxVectorDim_float(int *dimX, int *dimY, int *dimZ, const MR_Vector3f *dir)
finds index of maximum axis and stores it into dimZ
MRC_API const MR_Vector3d * MR_IntersectionPrecomputes_double_Get_invDir(const MR_IntersectionPrecomputes_double *_this)
MRC_API void MR_IntersectionPrecomputes_float_Set_maxDimIdxZ(MR_IntersectionPrecomputes_float *_this, int value)
MRC_API const int * MR_IntersectionPrecomputes_float_Get_idxX(const MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_float_DestroyArray(const MR_IntersectionPrecomputes_float *_this)
Destroys a heap-allocated array of MR_IntersectionPrecomputes_float. Does nothing if the pointer is n...
MRC_API void MR_IntersectionPrecomputes_double_Destroy(const MR_IntersectionPrecomputes_double *_this)
Destroys a heap-allocated instance of MR_IntersectionPrecomputes_double. Does nothing if the pointer ...
MRC_API void MR_IntersectionPrecomputes_float_Set_idxX(MR_IntersectionPrecomputes_float *_this, int value)
MRC_API const double * MR_IntersectionPrecomputes_double_Get_Sy(const MR_IntersectionPrecomputes_double *_this)
MRC_API int * MR_IntersectionPrecomputes_double_GetMutable_idxX(MR_IntersectionPrecomputes_double *_this)
MRC_API const int * MR_IntersectionPrecomputes_double_Get_idxX(const MR_IntersectionPrecomputes_double *_this)
MRC_API MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_DefaultConstruct(void)
MRC_API const MR_Vector3f * MR_IntersectionPrecomputes_float_Get_invDir(const MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_float_Set_idxY(MR_IntersectionPrecomputes_float *_this, int value)
MRC_API void MR_IntersectionPrecomputes_double_Set_idxX(MR_IntersectionPrecomputes_double *_this, int value)
MRC_API MR_Vector3i * MR_IntersectionPrecomputes_double_GetMutable_sign(MR_IntersectionPrecomputes_double *_this)
MRC_API MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_DefaultConstruct(void)
MRC_API MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_DefaultConstructArray(size_t num_elems)
MRC_API const int * MR_IntersectionPrecomputes_float_Get_idxY(const MR_IntersectionPrecomputes_float *_this)
MRC_API const float * MR_IntersectionPrecomputes_float_Get_Sx(const MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_float_Destroy(const MR_IntersectionPrecomputes_float *_this)
Destroys a heap-allocated instance of MR_IntersectionPrecomputes_float. Does nothing if the pointer i...
MRC_API float * MR_IntersectionPrecomputes_float_GetMutable_Sz(MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_double_Set_maxDimIdxZ(MR_IntersectionPrecomputes_double *_this, int value)
MRC_API const int * MR_IntersectionPrecomputes_double_Get_idxY(const MR_IntersectionPrecomputes_double *_this)
MRC_API double * MR_IntersectionPrecomputes_double_GetMutable_Sy(MR_IntersectionPrecomputes_double *_this)
MRC_API double * MR_IntersectionPrecomputes_double_GetMutable_Sx(MR_IntersectionPrecomputes_double *_this)
MRC_API MR_Vector3i * MR_IntersectionPrecomputes_float_GetMutable_sign(MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_float_Set_Sx(MR_IntersectionPrecomputes_float *_this, float value)
MRC_API int * MR_IntersectionPrecomputes_float_GetMutable_idxX(MR_IntersectionPrecomputes_float *_this)
MRC_API int * MR_IntersectionPrecomputes_double_GetMutable_idxY(MR_IntersectionPrecomputes_double *_this)
MRC_API MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_OffsetMutablePtr(MR_IntersectionPrecomputes_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 void MR_IntersectionPrecomputes_double_Set_Sx(MR_IntersectionPrecomputes_double *_this, double value)
MRC_API int * MR_IntersectionPrecomputes_double_GetMutable_maxDimIdxZ(MR_IntersectionPrecomputes_double *_this)
MRC_API const float * MR_IntersectionPrecomputes_float_Get_Sz(const MR_IntersectionPrecomputes_float *_this)
MRC_API const float * MR_IntersectionPrecomputes_float_Get_Sy(const MR_IntersectionPrecomputes_float *_this)
MRC_API int * MR_IntersectionPrecomputes_float_GetMutable_maxDimIdxZ(MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_float_Set_Sy(MR_IntersectionPrecomputes_float *_this, float value)
MRC_API MR_Vector3d * MR_IntersectionPrecomputes_double_GetMutable_invDir(MR_IntersectionPrecomputes_double *_this)
MRC_API MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_DefaultConstructArray(size_t num_elems)
MRC_API void MR_IntersectionPrecomputes_double_Set_sign(MR_IntersectionPrecomputes_double *_this, MR_Vector3i value)
struct MR_IntersectionPrecomputes_float MR_IntersectionPrecomputes_float
Definition MRIntersectionPrecomputes.h:16
MRC_API const double * MR_IntersectionPrecomputes_double_Get_Sz(const MR_IntersectionPrecomputes_double *_this)
MRC_API const MR_Vector3i * MR_IntersectionPrecomputes_float_Get_sign(const MR_IntersectionPrecomputes_float *_this)
MRC_API void MR_IntersectionPrecomputes_float_Set_invDir(MR_IntersectionPrecomputes_float *_this, MR_Vector3f value)
MRC_API double * MR_IntersectionPrecomputes_double_GetMutable_Sz(MR_IntersectionPrecomputes_double *_this)
MRC_API void MR_findMaxVectorDim_double(int *dimX, int *dimY, int *dimZ, const MR_Vector3d *dir)
finds index of maximum axis and stores it into dimZ
MRC_API MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_AssignFromAnother(MR_IntersectionPrecomputes_float *_this, const MR_IntersectionPrecomputes_float *_other)
struct MR_IntersectionPrecomputes_double MR_IntersectionPrecomputes_double
Definition MRIntersectionPrecomputes.h:21
MRC_API MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_Construct(const MR_Vector3d *dir)
MRC_API const double * MR_IntersectionPrecomputes_double_Get_Sx(const MR_IntersectionPrecomputes_double *_this)
MRC_API const MR_Vector3i * MR_IntersectionPrecomputes_double_Get_sign(const MR_IntersectionPrecomputes_double *_this)
MRC_API void MR_IntersectionPrecomputes_float_Set_sign(MR_IntersectionPrecomputes_float *_this, MR_Vector3i value)
MRC_API int * MR_IntersectionPrecomputes_float_GetMutable_idxY(MR_IntersectionPrecomputes_float *_this)
MRC_API float * MR_IntersectionPrecomputes_float_GetMutable_Sy(MR_IntersectionPrecomputes_float *_this)
MRC_API MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_ConstructFromAnother(const MR_IntersectionPrecomputes_float *_other)
MRC_API void MR_IntersectionPrecomputes_float_Set_Sz(MR_IntersectionPrecomputes_float *_this, float value)
MRC_API const int * MR_IntersectionPrecomputes_double_Get_maxDimIdxZ(const MR_IntersectionPrecomputes_double *_this)
MRC_API MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_AssignFromAnother(MR_IntersectionPrecomputes_double *_this, const MR_IntersectionPrecomputes_double *_other)
MRC_API const int * MR_IntersectionPrecomputes_float_Get_maxDimIdxZ(const MR_IntersectionPrecomputes_float *_this)
MRC_API const MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_OffsetPtr(const MR_IntersectionPrecomputes_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 void MR_IntersectionPrecomputes_double_Set_idxY(MR_IntersectionPrecomputes_double *_this, int value)
MRC_API void MR_IntersectionPrecomputes_double_Set_invDir(MR_IntersectionPrecomputes_double *_this, MR_Vector3d value)
MRC_API MR_IntersectionPrecomputes_double * MR_IntersectionPrecomputes_double_ConstructFromAnother(const MR_IntersectionPrecomputes_double *_other)
MRC_API MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_Construct(const MR_Vector3f *dir)
MRC_API const MR_IntersectionPrecomputes_float * MR_IntersectionPrecomputes_float_OffsetPtr(const MR_IntersectionPrecomputes_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_IntersectionPrecomputes_double_DestroyArray(const MR_IntersectionPrecomputes_double *_this)
Destroys a heap-allocated array of MR_IntersectionPrecomputes_double. Does nothing if the pointer is ...
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:59
Definition MRVector3.h:50
Definition MRVector3.h:32