MeshLib C Docs
Loading...
Searching...
No Matches
MRLine.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/exports.h>
6
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_std_istream MR_std_istream; // Defined in `#include <MRCMisc/iostream.h>`.
14typedef struct MR_std_ostream MR_std_ostream; // Defined in `#include <MRCMisc/iostream.h>`.
15
16
20typedef struct MR_Line2f MR_Line2f;
21
25typedef struct MR_Line2d MR_Line2d;
26
30typedef struct MR_Line3f MR_Line3f;
31
35typedef struct MR_Line3d MR_Line3d;
36
41
47
52
57
63
68
72
77
80MRC_API const MR_Line2f *MR_Line2f_OffsetPtr(const MR_Line2f *ptr, ptrdiff_t i);
81
85
91
99
102
105
113
117MRC_API MR_Vector2f MR_Line2f_call(const MR_Line2f *_this, float param);
118
123MRC_API float MR_Line2f_distanceSq(const MR_Line2f *_this, const MR_Vector2f *x);
124
130
136
142
148
154
160
165
171
176
181
187
192
196
201
204MRC_API const MR_Line2d *MR_Line2d_OffsetPtr(const MR_Line2d *ptr, ptrdiff_t i);
205
209
215
223
226
229
237
241MRC_API MR_Vector2d MR_Line2d_call(const MR_Line2d *_this, double param);
242
247MRC_API double MR_Line2d_distanceSq(const MR_Line2d *_this, const MR_Vector2d *x);
248
254
260
266
272
278
284
289
295
300
305
311
316
320
325
328MRC_API const MR_Line3f *MR_Line3f_OffsetPtr(const MR_Line3f *ptr, ptrdiff_t i);
329
333
339
347
353
356
359
367
371MRC_API MR_Vector3f MR_Line3f_call(const MR_Line3f *_this, float param);
372
377MRC_API float MR_Line3f_distanceSq(const MR_Line3f *_this, const MR_Vector3f *x);
378
384
390
396
402
408
414
419
425
430
435
441
446
450
455
458MRC_API const MR_Line3d *MR_Line3d_OffsetPtr(const MR_Line3d *ptr, ptrdiff_t i);
459
463
469
477
480
483
491
495MRC_API MR_Vector3d MR_Line3d_call(const MR_Line3d *_this, double param);
496
501MRC_API double MR_Line3d_distanceSq(const MR_Line3d *_this, const MR_Vector3d *x);
502
508
514
520
526
532
538
539#ifdef __cplusplus
540} // extern "C"
541#endif
struct MR_Line3d MR_Line3d
Definition MRBestFit.h:16
struct MR_Line3f MR_Line3f
Definition MRBestFit.h:17
struct MR_std_ostream MR_std_ostream
Definition MRCtm.h:31
struct MR_std_istream MR_std_istream
Definition MRCtm.h:28
MRC_API MR_Line3d * MR_Line3d_Construct(const MR_Vector3d *p, const MR_Vector3d *d)
MRC_API MR_std_istream * MR_input_MR_Line3d(MR_std_istream *s, MR_Line3d *l)
MRC_API void MR_Line2d_Set_p(MR_Line2d *_this, MR_Vector2d value)
MRC_API MR_Vector2d MR_Line2d_call(const MR_Line2d *_this, double param)
MRC_API MR_Vector3d * MR_Line3d_GetMutable_d(MR_Line3d *_this)
MRC_API MR_Line2d * MR_Line2d_AssignFromAnother(MR_Line2d *_this, const MR_Line2d *_other)
MRC_API float MR_Line2f_distanceSq(const MR_Line2f *_this, const MR_Vector2f *x)
MRC_API MR_Line2d * MR_Line2d_DefaultConstruct(void)
MRC_API MR_Vector2f MR_Line2f_project(const MR_Line2f *_this, const MR_Vector2f *x)
MRC_API MR_Vector3f * MR_Line3f_GetMutable_p(MR_Line3f *_this)
MRC_API MR_Line2f * MR_Line2f_OffsetMutablePtr(MR_Line2f *ptr, ptrdiff_t i)
MRC_API MR_Line3d * MR_Line3d_normalized(const MR_Line3d *_this)
MRC_API const MR_Vector3f * MR_Line3f_Get_p(const MR_Line3f *_this)
MRC_API MR_Vector2f * MR_Line2f_GetMutable_p(MR_Line2f *_this)
MRC_API void MR_Line2f_DestroyArray(const MR_Line2f *_this)
Destroys a heap-allocated array of MR_Line2f. Does nothing if the pointer is null.
MRC_API const MR_Vector3d * MR_Line3d_Get_d(const MR_Line3d *_this)
MRC_API MR_Vector3d MR_Line3d_call(const MR_Line3d *_this, double param)
MRC_API void MR_Line3f_Set_d(MR_Line3f *_this, MR_Vector3f value)
struct MR_Line2f MR_Line2f
Definition MRLine.h:20
MRC_API MR_Line3f * MR_Line3f_DefaultConstruct(void)
MRC_API void MR_Line3d_DestroyArray(const MR_Line3d *_this)
Destroys a heap-allocated array of MR_Line3d. Does nothing if the pointer is null.
MRC_API double MR_Line2d_distanceSq(const MR_Line2d *_this, const MR_Vector2d *x)
MRC_API void MR_Line2f_Set_d(MR_Line2f *_this, MR_Vector2f value)
MRC_API MR_Line3f * MR_Line3f_DefaultConstructArray(size_t num_elems)
MRC_API void MR_Line2d_DestroyArray(const MR_Line2d *_this)
Destroys a heap-allocated array of MR_Line2d. Does nothing if the pointer is null.
MRC_API MR_Line3d * MR_Line3d_AssignFromAnother(MR_Line3d *_this, const MR_Line3d *_other)
MRC_API void MR_Line2d_Set_d(MR_Line2d *_this, MR_Vector2d value)
MRC_API const MR_Line2d * MR_pos_MR_Line2d(const MR_Line2d *_this)
MRC_API MR_Line3f * MR_Line3f_Construct_MR_Vector3d(const MR_Line3d *l)
MRC_API const MR_Line3f * MR_Line3f_OffsetPtr(const MR_Line3f *ptr, ptrdiff_t i)
MRC_API void MR_Line3d_Destroy(const MR_Line3d *_this)
Destroys a heap-allocated instance of MR_Line3d. Does nothing if the pointer is null.
MRC_API MR_Line2f * MR_Line2f_DefaultConstruct(void)
MRC_API float MR_Line3f_distanceSq(const MR_Line3f *_this, const MR_Vector3f *x)
MRC_API MR_Vector3f MR_Line3f_project(const MR_Line3f *_this, const MR_Vector3f *x)
MRC_API MR_Line3d * MR_Line3d_OffsetMutablePtr(MR_Line3d *ptr, ptrdiff_t i)
MRC_API void MR_Line3d_Set_d(MR_Line3d *_this, MR_Vector3d value)
MRC_API void MR_Line3f_Set_p(MR_Line3f *_this, MR_Vector3f value)
MRC_API MR_std_istream * MR_input_MR_Line2f(MR_std_istream *s, MR_Line2f *l)
struct MR_Line2d MR_Line2d
Definition MRLine.h:25
MRC_API const MR_Line3d * MR_pos_MR_Line3d(const MR_Line3d *_this)
MRC_API MR_Vector2d * MR_Line2d_GetMutable_d(MR_Line2d *_this)
MRC_API MR_std_ostream * MR_print_MR_Line3d(MR_std_ostream *s, const MR_Line3d *l)
MRC_API MR_Line3d * MR_Line3d_DefaultConstruct(void)
MRC_API MR_Line2f * MR_Line2f_AssignFromAnother(MR_Line2f *_this, const MR_Line2f *_other)
MRC_API MR_Line2d * MR_Line2d_OffsetMutablePtr(MR_Line2d *ptr, ptrdiff_t i)
MRC_API MR_Line2f * MR_Line2f_Construct(const MR_Vector2f *p, const MR_Vector2f *d)
MRC_API MR_Line3d * MR_Line3d_ConstructFromAnother(const MR_Line3d *_other)
MRC_API void MR_Line3d_Set_p(MR_Line3d *_this, MR_Vector3d value)
MRC_API const MR_Line2f * MR_Line2f_OffsetPtr(const MR_Line2f *ptr, ptrdiff_t i)
MRC_API void MR_Line2f_Destroy(const MR_Line2f *_this)
Destroys a heap-allocated instance of MR_Line2f. Does nothing if the pointer is null.
MRC_API MR_Vector2f * MR_Line2f_GetMutable_d(MR_Line2f *_this)
MRC_API MR_std_ostream * MR_print_MR_Line3f(MR_std_ostream *s, const MR_Line3f *l)
MRC_API const MR_Vector3d * MR_Line3d_Get_p(const MR_Line3d *_this)
MRC_API double MR_Line3d_distanceSq(const MR_Line3d *_this, const MR_Vector3d *x)
MRC_API const MR_Line2f * MR_pos_MR_Line2f(const MR_Line2f *_this)
MRC_API MR_Line2f * MR_neg_MR_Line2f(const MR_Line2f *_this)
MRC_API const MR_Line3f * MR_pos_MR_Line3f(const MR_Line3f *_this)
MRC_API const MR_Line3d * MR_Line3d_OffsetPtr(const MR_Line3d *ptr, ptrdiff_t i)
MRC_API MR_std_ostream * MR_print_MR_Line2d(MR_std_ostream *s, const MR_Line2d *l)
MRC_API MR_Line3f * MR_Line3f_Construct(const MR_Vector3f *p, const MR_Vector3f *d)
MRC_API const MR_Vector2d * MR_Line2d_Get_p(const MR_Line2d *_this)
MRC_API MR_Line2f * MR_Line2f_DefaultConstructArray(size_t num_elems)
MRC_API MR_Line2d * MR_Line2d_DefaultConstructArray(size_t num_elems)
MRC_API const MR_Vector2d * MR_Line2d_Get_d(const MR_Line2d *_this)
MRC_API MR_Line3f * MR_Line3f_normalized(const MR_Line3f *_this)
MRC_API const MR_Vector2f * MR_Line2f_Get_d(const MR_Line2f *_this)
MRC_API MR_Line3f * MR_Line3f_ConstructFromAnother(const MR_Line3f *_other)
MRC_API const MR_Vector3f * MR_Line3f_Get_d(const MR_Line3f *_this)
MRC_API MR_Line3f * MR_Line3f_OffsetMutablePtr(MR_Line3f *ptr, ptrdiff_t i)
MRC_API const MR_Line2d * MR_Line2d_OffsetPtr(const MR_Line2d *ptr, ptrdiff_t i)
MRC_API MR_Vector3f MR_Line3f_call(const MR_Line3f *_this, float param)
MRC_API MR_Line2d * MR_Line2d_ConstructFromAnother(const MR_Line2d *_other)
MRC_API void MR_Line2f_Set_p(MR_Line2f *_this, MR_Vector2f value)
MRC_API MR_Line3f * MR_neg_MR_Line3f(const MR_Line3f *_this)
MRC_API MR_Line2f * MR_Line2f_ConstructFromAnother(const MR_Line2f *_other)
MRC_API MR_std_istream * MR_input_MR_Line2d(MR_std_istream *s, MR_Line2d *l)
MRC_API MR_Vector3d MR_Line3d_project(const MR_Line3d *_this, const MR_Vector3d *x)
MRC_API MR_std_ostream * MR_print_MR_Line2f(MR_std_ostream *s, const MR_Line2f *l)
MRC_API MR_Line2d * MR_Line2d_normalized(const MR_Line2d *_this)
MRC_API MR_Line3d * MR_neg_MR_Line3d(const MR_Line3d *_this)
MRC_API const MR_Vector2f * MR_Line2f_Get_p(const MR_Line2f *_this)
MRC_API MR_Vector3f * MR_Line3f_GetMutable_d(MR_Line3f *_this)
MRC_API MR_Vector2d * MR_Line2d_GetMutable_p(MR_Line2d *_this)
MRC_API MR_Line3d * MR_Line3d_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector2f MR_Line2f_call(const MR_Line2f *_this, float param)
MRC_API MR_std_istream * MR_input_MR_Line3f(MR_std_istream *s, MR_Line3f *l)
MRC_API MR_Vector3d * MR_Line3d_GetMutable_p(MR_Line3d *_this)
MRC_API MR_Line2d * MR_Line2d_Construct(const MR_Vector2d *p, const MR_Vector2d *d)
MRC_API void MR_Line3f_Destroy(const MR_Line3f *_this)
Destroys a heap-allocated instance of MR_Line3f. Does nothing if the pointer is null.
MRC_API MR_Line2d * MR_neg_MR_Line2d(const MR_Line2d *_this)
MRC_API MR_Line3f * MR_Line3f_AssignFromAnother(MR_Line3f *_this, const MR_Line3f *_other)
MRC_API void MR_Line2d_Destroy(const MR_Line2d *_this)
Destroys a heap-allocated instance of MR_Line2d. Does nothing if the pointer is null.
MRC_API MR_Line2f * MR_Line2f_normalized(const MR_Line2f *_this)
MRC_API MR_Vector2d MR_Line2d_project(const MR_Line2d *_this, const MR_Vector2d *x)
MRC_API void MR_Line3f_DestroyArray(const MR_Line3f *_this)
Destroys a heap-allocated array of MR_Line3f. Does nothing if the pointer is null.
#define MRC_API
Definition exports.h:11
Definition MRVector2.h:53
Definition MRVector2.h:45
Definition MRVector3.h:61
Definition MRVector3.h:52