MeshLib C Docs
Loading...
Searching...
No Matches
MRTwoLineSegmDist.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_LineSegm3d MR_LineSegm3d; // Defined in `#include <MRCMesh/MRLineSegm.h>`.
13typedef struct MR_LineSegm3f MR_LineSegm3f; // Defined in `#include <MRCMesh/MRLineSegm.h>`.
14
15
19
23
30
37
44
51
58
65
66// if both closest points are in segment endpoints, then directed from closest point a to closest point b,
67// if both closest points are inner to the segments, then its orthogonal to both segments and directed from a to b,
68// otherwise it is orthogonal to the segment with inner closest point and rotated toward/away the other closest point in endpoint
74
75// if both closest points are in segment endpoints, then directed from closest point a to closest point b,
76// if both closest points are inner to the segments, then its orthogonal to both segments and directed from a to b,
77// otherwise it is orthogonal to the segment with inner closest point and rotated toward/away the other closest point in endpoint
83
84// if both closest points are in segment endpoints, then directed from closest point a to closest point b,
85// if both closest points are inner to the segments, then its orthogonal to both segments and directed from a to b,
86// otherwise it is orthogonal to the segment with inner closest point and rotated toward/away the other closest point in endpoint
92
96
101
109
113
117
123
126
129
137
144
151
158
165
172
179
180// if both closest points are in segment endpoints, then directed from closest point a to closest point b,
181// if both closest points are inner to the segments, then its orthogonal to both segments and directed from a to b,
182// otherwise it is orthogonal to the segment with inner closest point and rotated toward/away the other closest point in endpoint
188
189// if both closest points are in segment endpoints, then directed from closest point a to closest point b,
190// if both closest points are inner to the segments, then its orthogonal to both segments and directed from a to b,
191// otherwise it is orthogonal to the segment with inner closest point and rotated toward/away the other closest point in endpoint
197
198// if both closest points are in segment endpoints, then directed from closest point a to closest point b,
199// if both closest points are inner to the segments, then its orthogonal to both segments and directed from a to b,
200// otherwise it is orthogonal to the segment with inner closest point and rotated toward/away the other closest point in endpoint
206
210
215
223
227
231
237
240
243
251
258
264
265#ifdef __cplusplus
266} // extern "C"
267#endif
struct MR_LineSegm3f MR_LineSegm3f
Definition MRFeatures.h:18
struct MR_LineSegm3d MR_LineSegm3d
Definition MRLineSegm.h:36
MRC_API MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_OffsetMutablePtr(MR_TwoLineSegmClosestPoints_double *ptr, ptrdiff_t i)
MRC_API void MR_TwoLineSegmClosestPoints_float_Set_b(MR_TwoLineSegmClosestPoints_float *_this, MR_Vector3f value)
MRC_API MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_ConstructFrom(MR_Vector3d a, MR_Vector3d b, MR_Vector3d dir)
MRC_API void MR_TwoLineSegmClosestPoints_double_DestroyArray(const MR_TwoLineSegmClosestPoints_double *_this)
Destroys a heap-allocated array of MR_TwoLineSegmClosestPoints_double. Does nothing if the pointer is...
MRC_API MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_ConstructFromAnother(const MR_TwoLineSegmClosestPoints_double *_other)
MRC_API void MR_TwoLineSegmClosestPoints_float_DestroyArray(const MR_TwoLineSegmClosestPoints_float *_this)
Destroys a heap-allocated array of MR_TwoLineSegmClosestPoints_float. Does nothing if the pointer is ...
MRC_API const MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_OffsetPtr(const MR_TwoLineSegmClosestPoints_double *ptr, ptrdiff_t i)
MRC_API MR_Vector3d * MR_TwoLineSegmClosestPoints_double_GetMutable_a(MR_TwoLineSegmClosestPoints_double *_this)
MRC_API MR_TwoLineSegmClosestPoints_double * MR_findTwoLineSegmClosestPoints_MR_LineSegm3d(const MR_LineSegm3d *a, const MR_LineSegm3d *b)
MRC_API MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_DefaultConstruct(void)
MRC_API void MR_TwoLineSegmClosestPoints_double_Set_a(MR_TwoLineSegmClosestPoints_double *_this, MR_Vector3d value)
MRC_API MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_AssignFromAnother(MR_TwoLineSegmClosestPoints_float *_this, const MR_TwoLineSegmClosestPoints_float *_other)
MRC_API MR_TwoLineSegmClosestPoints_float * MR_findTwoLineSegmClosestPoints_MR_LineSegm3f(const MR_LineSegm3f *a, const MR_LineSegm3f *b)
MRC_API void MR_TwoLineSegmClosestPoints_float_Set_a(MR_TwoLineSegmClosestPoints_float *_this, MR_Vector3f value)
MRC_API const MR_Vector3f * MR_TwoLineSegmClosestPoints_float_Get_dir(const MR_TwoLineSegmClosestPoints_float *_this)
MRC_API const MR_Vector3d * MR_TwoLineSegmClosestPoints_double_Get_a(const MR_TwoLineSegmClosestPoints_double *_this)
MRC_API const MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_OffsetPtr(const MR_TwoLineSegmClosestPoints_float *ptr, ptrdiff_t i)
MRC_API MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_DefaultConstructArray(size_t num_elems)
MRC_API MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_DefaultConstructArray(size_t num_elems)
MRC_API void MR_TwoLineSegmClosestPoints_double_Set_b(MR_TwoLineSegmClosestPoints_double *_this, MR_Vector3d value)
MRC_API MR_Vector3d * MR_TwoLineSegmClosestPoints_double_GetMutable_dir(MR_TwoLineSegmClosestPoints_double *_this)
MRC_API MR_Vector3f * MR_TwoLineSegmClosestPoints_float_GetMutable_dir(MR_TwoLineSegmClosestPoints_float *_this)
MRC_API MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_ConstructFromAnother(const MR_TwoLineSegmClosestPoints_float *_other)
MRC_API void MR_TwoLineSegmClosestPoints_float_Destroy(const MR_TwoLineSegmClosestPoints_float *_this)
Destroys a heap-allocated instance of MR_TwoLineSegmClosestPoints_float. Does nothing if the pointer ...
struct MR_TwoLineSegmClosestPoints_float MR_TwoLineSegmClosestPoints_float
Definition MRTwoLineSegmDist.h:18
MRC_API MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_DefaultConstruct(void)
MRC_API void MR_TwoLineSegmClosestPoints_float_Set_dir(MR_TwoLineSegmClosestPoints_float *_this, MR_Vector3f value)
MRC_API const MR_Vector3d * MR_TwoLineSegmClosestPoints_double_Get_b(const MR_TwoLineSegmClosestPoints_double *_this)
MRC_API MR_TwoLineSegmClosestPoints_double * MR_TwoLineSegmClosestPoints_double_AssignFromAnother(MR_TwoLineSegmClosestPoints_double *_this, const MR_TwoLineSegmClosestPoints_double *_other)
MRC_API void MR_TwoLineSegmClosestPoints_double_Destroy(const MR_TwoLineSegmClosestPoints_double *_this)
Destroys a heap-allocated instance of MR_TwoLineSegmClosestPoints_double. Does nothing if the pointer...
MRC_API const MR_Vector3d * MR_TwoLineSegmClosestPoints_double_Get_dir(const MR_TwoLineSegmClosestPoints_double *_this)
MRC_API MR_Vector3d * MR_TwoLineSegmClosestPoints_double_GetMutable_b(MR_TwoLineSegmClosestPoints_double *_this)
MRC_API const MR_Vector3f * MR_TwoLineSegmClosestPoints_float_Get_a(const MR_TwoLineSegmClosestPoints_float *_this)
MRC_API MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_OffsetMutablePtr(MR_TwoLineSegmClosestPoints_float *ptr, ptrdiff_t i)
MRC_API MR_Vector3f * MR_TwoLineSegmClosestPoints_float_GetMutable_a(MR_TwoLineSegmClosestPoints_float *_this)
MRC_API MR_TwoLineSegmClosestPoints_float * MR_TwoLineSegmClosestPoints_float_ConstructFrom(MR_Vector3f a, MR_Vector3f b, MR_Vector3f dir)
struct MR_TwoLineSegmClosestPoints_double MR_TwoLineSegmClosestPoints_double
Definition MRTwoLineSegmDist.h:22
MRC_API const MR_Vector3f * MR_TwoLineSegmClosestPoints_float_Get_b(const MR_TwoLineSegmClosestPoints_float *_this)
MRC_API MR_Vector3f * MR_TwoLineSegmClosestPoints_float_GetMutable_b(MR_TwoLineSegmClosestPoints_float *_this)
MRC_API void MR_TwoLineSegmClosestPoints_double_Set_dir(MR_TwoLineSegmClosestPoints_double *_this, MR_Vector3d value)
#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