MeshLib C Docs
Loading...
Searching...
No Matches
MRPlane3.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
12typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
13typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
14
15
19typedef struct MR_Plane3f MR_Plane3f;
20
24typedef struct MR_Plane3d MR_Plane3d;
25
30
34
39
43MRC_API const float *MR_Plane3f_Get_d(const MR_Plane3f *_this);
44
47MRC_API void MR_Plane3f_Set_d(MR_Plane3f *_this, float value);
48
53
57
62
64MRC_API const MR_Plane3f *MR_Plane3f_OffsetPtr(const MR_Plane3f *ptr, ptrdiff_t i);
65
68
73
78
79// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
80// when generating the bindings, and results in duplicate functions in C#.
85
88
91
97
103
108MRC_API float MR_Plane3f_distance(const MR_Plane3f *_this, const MR_Vector3f *x);
109
115
121
127
133
139
145
150
154
159
163MRC_API const double *MR_Plane3d_Get_d(const MR_Plane3d *_this);
164
167MRC_API void MR_Plane3d_Set_d(MR_Plane3d *_this, double value);
168
173
177
182
184MRC_API const MR_Plane3d *MR_Plane3d_OffsetPtr(const MR_Plane3d *ptr, ptrdiff_t i);
185
188
193
198
199// Here `T == U` doesn't seem to cause any issues in the C++ code, but we're still disabling it because it somehow gets emitted
200// when generating the bindings, and results in duplicate functions in C#.
205
208
211
217
223
228MRC_API double MR_Plane3d_distance(const MR_Plane3d *_this, const MR_Vector3d *x);
229
235
241
247
253
259
265
266#ifdef __cplusplus
267} // extern "C"
268#endif
struct MR_Plane3d MR_Plane3d
Definition MRBestFit.h:21
struct MR_Plane3f MR_Plane3f
Definition MRBestFit.h:22
struct MR_std_ostream MR_std_ostream
Definition MRCtm.h:31
struct MR_std_istream MR_std_istream
Definition MRCtm.h:28
MRC_API const MR_Plane3d * MR_pos_MR_Plane3d(const MR_Plane3d *_this)
MRC_API void MR_Plane3d_Set_n(MR_Plane3d *_this, MR_Vector3d value)
MRC_API const MR_Plane3f * MR_pos_MR_Plane3f(const MR_Plane3f *_this)
MRC_API MR_Plane3d * MR_Plane3d_ConstructFromAnother(const MR_Plane3d *_other)
MRC_API const MR_Vector3f * MR_Plane3f_Get_n(const MR_Plane3f *_this)
MRC_API MR_Vector3d MR_Plane3d_project(const MR_Plane3d *_this, const MR_Vector3d *p)
MRC_API MR_Vector3f MR_Plane3f_project(const MR_Plane3f *_this, const MR_Vector3f *p)
MRC_API MR_Plane3f * MR_Plane3f_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Plane3f_DestroyArray(const MR_Plane3f *_this)
Destroys a heap-allocated array of MR_Plane3f. Does nothing if the pointer is null.
MRC_API MR_Plane3d * MR_Plane3d_DefaultConstruct(void)
MRC_API MR_Plane3d * MR_neg_MR_Plane3d(const MR_Plane3d *_this)
MRC_API MR_Plane3f * MR_Plane3f_normalized(const MR_Plane3f *_this)
MRC_API MR_Plane3f * MR_Plane3f_ConstructFromAnother(const MR_Plane3f *_other)
MRC_API void MR_Plane3d_Set_d(MR_Plane3d *_this, double value)
MRC_API MR_Plane3d * MR_Plane3d_fromDirAndPt(const MR_Vector3d *n, const MR_Vector3d *p)
MRC_API const double * MR_Plane3d_Get_d(const MR_Plane3d *_this)
MRC_API const MR_Vector3d * MR_Plane3d_Get_n(const MR_Plane3d *_this)
MRC_API void MR_Plane3d_Destroy(const MR_Plane3d *_this)
Destroys a heap-allocated instance of MR_Plane3d. Does nothing if the pointer is null.
MRC_API MR_std_istream * MR_input_MR_Plane3f(MR_std_istream *s, MR_Plane3f *pl)
MRC_API void MR_Plane3d_DestroyArray(const MR_Plane3d *_this)
Destroys a heap-allocated array of MR_Plane3d. Does nothing if the pointer is null.
MRC_API MR_Vector3d * MR_Plane3d_GetMutable_n(MR_Plane3d *_this)
MRC_API MR_Plane3d * MR_Plane3d_AssignFromAnother(MR_Plane3d *_this, const MR_Plane3d *_other)
MRC_API MR_Plane3d * MR_Plane3d_Construct_float(const MR_Plane3f *p)
MRC_API MR_Plane3f * MR_Plane3f_DefaultConstruct(void)
MRC_API MR_Plane3d * MR_Plane3d_DefaultConstructArray(size_t num_elems)
MRC_API const float * MR_Plane3f_Get_d(const MR_Plane3f *_this)
MRC_API void MR_Plane3f_Destroy(const MR_Plane3f *_this)
Destroys a heap-allocated instance of MR_Plane3f. Does nothing if the pointer is null.
MRC_API MR_Plane3d * MR_Plane3d_normalized(const MR_Plane3d *_this)
MRC_API const MR_Plane3d * MR_Plane3d_OffsetPtr(const MR_Plane3d *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_istream * MR_input_MR_Plane3d(MR_std_istream *s, MR_Plane3d *pl)
MRC_API double * MR_Plane3d_GetMutable_d(MR_Plane3d *_this)
MRC_API MR_Plane3f * MR_Plane3f_Construct(const MR_Vector3f *n, float d)
MRC_API MR_Plane3d * MR_Plane3d_Construct(const MR_Vector3d *n, double d)
MRC_API MR_Plane3f * MR_Plane3f_Construct_double(const MR_Plane3d *p)
MRC_API MR_std_ostream * MR_print_MR_Plane3d(MR_std_ostream *s, const MR_Plane3d *pl)
MRC_API MR_Plane3f * MR_Plane3f_OffsetMutablePtr(MR_Plane3f *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_Plane3f_distance(const MR_Plane3f *_this, const MR_Vector3f *x)
MRC_API float * MR_Plane3f_GetMutable_d(MR_Plane3f *_this)
MRC_API void MR_Plane3f_Set_n(MR_Plane3f *_this, MR_Vector3f value)
MRC_API MR_Plane3f * MR_Plane3f_AssignFromAnother(MR_Plane3f *_this, const MR_Plane3f *_other)
MRC_API const MR_Plane3f * MR_Plane3f_OffsetPtr(const MR_Plane3f *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_Plane3f * MR_Plane3f_fromDirAndPt(const MR_Vector3f *n, const MR_Vector3f *p)
MRC_API MR_std_ostream * MR_print_MR_Plane3f(MR_std_ostream *s, const MR_Plane3f *pl)
MRC_API MR_Plane3d * MR_Plane3d_OffsetMutablePtr(MR_Plane3d *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_Plane3f_Set_d(MR_Plane3f *_this, float value)
MRC_API MR_Plane3f * MR_neg_MR_Plane3f(const MR_Plane3f *_this)
MRC_API MR_Vector3f * MR_Plane3f_GetMutable_n(MR_Plane3f *_this)
MRC_API double MR_Plane3d_distance(const MR_Plane3d *_this, const MR_Vector3d *x)
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:61
Definition MRVector3.h:52