MeshLib C Docs
Loading...
Searching...
No Matches
MRLine.h File Reference
#include <MRCMesh/MRVector2.h>
#include <MRCMesh/MRVector3.h>
#include <MRCMisc/exports.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_Line2f MR_Line2f
 
typedef struct MR_Line2d MR_Line2d
 
typedef struct MR_Line3f MR_Line3f
 
typedef struct MR_Line3d MR_Line3d
 

Functions

MRC_API const MR_Vector2fMR_Line2f_Get_p (const MR_Line2f *_this)
 
MRC_API void MR_Line2f_Set_p (MR_Line2f *_this, MR_Vector2f value)
 
MRC_API MR_Vector2fMR_Line2f_GetMutable_p (MR_Line2f *_this)
 
MRC_API const MR_Vector2fMR_Line2f_Get_d (const MR_Line2f *_this)
 
MRC_API void MR_Line2f_Set_d (MR_Line2f *_this, MR_Vector2f value)
 
MRC_API MR_Vector2fMR_Line2f_GetMutable_d (MR_Line2f *_this)
 
MRC_API MR_Line2fMR_Line2f_DefaultConstruct (void)
 
MRC_API MR_Line2fMR_Line2f_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_Line2fMR_Line2f_OffsetPtr (const MR_Line2f *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line2fMR_Line2f_OffsetMutablePtr (MR_Line2f *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line2fMR_Line2f_ConstructFromAnother (const MR_Line2f *_other)
 
MRC_API MR_Line2fMR_Line2f_Construct (const MR_Vector2f *p, const MR_Vector2f *d)
 
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 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 MR_Line2fMR_Line2f_AssignFromAnother (MR_Line2f *_this, const MR_Line2f *_other)
 
MRC_API MR_Vector2f MR_Line2f_call (const MR_Line2f *_this, float param)
 
MRC_API float MR_Line2f_distanceSq (const MR_Line2f *_this, const MR_Vector2f *x)
 
MRC_API MR_Line2fMR_neg_MR_Line2f (const MR_Line2f *_this)
 
MRC_API const MR_Line2fMR_pos_MR_Line2f (const MR_Line2f *_this)
 
MRC_API MR_Line2fMR_Line2f_normalized (const MR_Line2f *_this)
 
MRC_API MR_Vector2f MR_Line2f_project (const MR_Line2f *_this, const MR_Vector2f *x)
 
MRC_API const MR_Vector2dMR_Line2d_Get_p (const MR_Line2d *_this)
 
MRC_API void MR_Line2d_Set_p (MR_Line2d *_this, MR_Vector2d value)
 
MRC_API MR_Vector2dMR_Line2d_GetMutable_p (MR_Line2d *_this)
 
MRC_API const MR_Vector2dMR_Line2d_Get_d (const MR_Line2d *_this)
 
MRC_API void MR_Line2d_Set_d (MR_Line2d *_this, MR_Vector2d value)
 
MRC_API MR_Vector2dMR_Line2d_GetMutable_d (MR_Line2d *_this)
 
MRC_API MR_Line2dMR_Line2d_DefaultConstruct (void)
 
MRC_API MR_Line2dMR_Line2d_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_Line2dMR_Line2d_OffsetPtr (const MR_Line2d *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line2dMR_Line2d_OffsetMutablePtr (MR_Line2d *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line2dMR_Line2d_ConstructFromAnother (const MR_Line2d *_other)
 
MRC_API MR_Line2dMR_Line2d_Construct (const MR_Vector2d *p, const MR_Vector2d *d)
 
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 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_Line2dMR_Line2d_AssignFromAnother (MR_Line2d *_this, const MR_Line2d *_other)
 
MRC_API MR_Vector2d MR_Line2d_call (const MR_Line2d *_this, double param)
 
MRC_API double MR_Line2d_distanceSq (const MR_Line2d *_this, const MR_Vector2d *x)
 
MRC_API MR_Line2dMR_neg_MR_Line2d (const MR_Line2d *_this)
 
MRC_API const MR_Line2dMR_pos_MR_Line2d (const MR_Line2d *_this)
 
MRC_API MR_Line2dMR_Line2d_normalized (const MR_Line2d *_this)
 
MRC_API MR_Vector2d MR_Line2d_project (const MR_Line2d *_this, const MR_Vector2d *x)
 
MRC_API const MR_Vector3fMR_Line3f_Get_p (const MR_Line3f *_this)
 
MRC_API void MR_Line3f_Set_p (MR_Line3f *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_Line3f_GetMutable_p (MR_Line3f *_this)
 
MRC_API const MR_Vector3fMR_Line3f_Get_d (const MR_Line3f *_this)
 
MRC_API void MR_Line3f_Set_d (MR_Line3f *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_Line3f_GetMutable_d (MR_Line3f *_this)
 
MRC_API MR_Line3fMR_Line3f_DefaultConstruct (void)
 
MRC_API MR_Line3fMR_Line3f_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_Line3fMR_Line3f_OffsetPtr (const MR_Line3f *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line3fMR_Line3f_OffsetMutablePtr (MR_Line3f *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line3fMR_Line3f_ConstructFromAnother (const MR_Line3f *_other)
 
MRC_API MR_Line3fMR_Line3f_Construct (const MR_Vector3f *p, const MR_Vector3f *d)
 
MRC_API MR_Line3fMR_Line3f_Construct_MR_Vector3d (const MR_Line3d *l)
 
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 void MR_Line3f_DestroyArray (const MR_Line3f *_this)
 Destroys a heap-allocated array of MR_Line3f. Does nothing if the pointer is null.
 
MRC_API MR_Line3fMR_Line3f_AssignFromAnother (MR_Line3f *_this, const MR_Line3f *_other)
 
MRC_API MR_Vector3f MR_Line3f_call (const MR_Line3f *_this, float param)
 
MRC_API float MR_Line3f_distanceSq (const MR_Line3f *_this, const MR_Vector3f *x)
 
MRC_API MR_Line3fMR_neg_MR_Line3f (const MR_Line3f *_this)
 
MRC_API const MR_Line3fMR_pos_MR_Line3f (const MR_Line3f *_this)
 
MRC_API MR_Line3fMR_Line3f_normalized (const MR_Line3f *_this)
 
MRC_API MR_Vector3f MR_Line3f_project (const MR_Line3f *_this, const MR_Vector3f *x)
 
MRC_API const MR_Vector3dMR_Line3d_Get_p (const MR_Line3d *_this)
 
MRC_API void MR_Line3d_Set_p (MR_Line3d *_this, MR_Vector3d value)
 
MRC_API MR_Vector3dMR_Line3d_GetMutable_p (MR_Line3d *_this)
 
MRC_API const MR_Vector3dMR_Line3d_Get_d (const MR_Line3d *_this)
 
MRC_API void MR_Line3d_Set_d (MR_Line3d *_this, MR_Vector3d value)
 
MRC_API MR_Vector3dMR_Line3d_GetMutable_d (MR_Line3d *_this)
 
MRC_API MR_Line3dMR_Line3d_DefaultConstruct (void)
 
MRC_API MR_Line3dMR_Line3d_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_Line3dMR_Line3d_OffsetPtr (const MR_Line3d *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line3dMR_Line3d_OffsetMutablePtr (MR_Line3d *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_Line3dMR_Line3d_ConstructFromAnother (const MR_Line3d *_other)
 
MRC_API MR_Line3dMR_Line3d_Construct (const MR_Vector3d *p, const MR_Vector3d *d)
 
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 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 MR_Line3dMR_Line3d_AssignFromAnother (MR_Line3d *_this, const MR_Line3d *_other)
 
MRC_API MR_Vector3d MR_Line3d_call (const MR_Line3d *_this, double param)
 
MRC_API double MR_Line3d_distanceSq (const MR_Line3d *_this, const MR_Vector3d *x)
 
MRC_API MR_Line3dMR_neg_MR_Line3d (const MR_Line3d *_this)
 
MRC_API const MR_Line3dMR_pos_MR_Line3d (const MR_Line3d *_this)
 
MRC_API MR_Line3dMR_Line3d_normalized (const MR_Line3d *_this)
 
MRC_API MR_Vector3d MR_Line3d_project (const MR_Line3d *_this, const MR_Vector3d *x)
 

Typedef Documentation

◆ MR_Line2d

typedef struct MR_Line2d MR_Line2d

2- or 3-dimensional line: cross( x - p, d ) = 0 Generated from class MR::Line2d.

◆ MR_Line2f

typedef struct MR_Line2f MR_Line2f

2- or 3-dimensional line: cross( x - p, d ) = 0 Generated from class MR::Line2f.

◆ MR_Line3d

typedef struct MR_Line3d MR_Line3d

2- or 3-dimensional line: cross( x - p, d ) = 0 Generated from class MR::Line3d.

◆ MR_Line3f

typedef struct MR_Line3f MR_Line3f

2- or 3-dimensional line: cross( x - p, d ) = 0 Generated from class MR::Line3f.

Function Documentation

◆ MR_Line2d_AssignFromAnother()

MRC_API MR_Line2d * MR_Line2d_AssignFromAnother ( MR_Line2d * _this,
const MR_Line2d * _other )

Generated from a method of class MR::Line2d named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2d_call()

MRC_API MR_Vector2d MR_Line2d_call ( const MR_Line2d * _this,
double param )

returns point on the line, where param=0 returns p and param=1 returns p+d Generated from a method of class MR::Line2d named operator(). Parameter _this can not be null. It is a single object.

◆ MR_Line2d_Construct()

MRC_API MR_Line2d * MR_Line2d_Construct ( const MR_Vector2d * p,
const MR_Vector2d * d )

Generated from a constructor of class MR::Line2d. Parameter p can not be null. It is a single object. Parameter d can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2d_Destroy() to free it when you're done using it.

◆ MR_Line2d_ConstructFromAnother()

MRC_API MR_Line2d * MR_Line2d_ConstructFromAnother ( const MR_Line2d * _other)

Generated from a constructor of class MR::Line2d. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2d_Destroy() to free it when you're done using it.

◆ MR_Line2d_DefaultConstruct()

MRC_API MR_Line2d * MR_Line2d_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2d_Destroy() to free it when you're done using it.

◆ MR_Line2d_DefaultConstructArray()

MRC_API MR_Line2d * MR_Line2d_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_Line2d_DestroyArray(). Use MR_Line2d_OffsetMutablePtr() and MR_Line2d_OffsetPtr() to access the array elements.

◆ MR_Line2d_Destroy()

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.

◆ MR_Line2d_DestroyArray()

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.

◆ MR_Line2d_distanceSq()

MRC_API double MR_Line2d_distanceSq ( const MR_Line2d * _this,
const MR_Vector2d * x )

returns squared distance from given point to this line Generated from a method of class MR::Line2d named distanceSq. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line2d_Get_d()

MRC_API const MR_Vector2d * MR_Line2d_Get_d ( const MR_Line2d * _this)

Returns a pointer to a member variable of class MR::Line2d named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2d_Get_p()

MRC_API const MR_Vector2d * MR_Line2d_Get_p ( const MR_Line2d * _this)

Returns a pointer to a member variable of class MR::Line2d named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2d_GetMutable_d()

MRC_API MR_Vector2d * MR_Line2d_GetMutable_d ( MR_Line2d * _this)

Returns a mutable pointer to a member variable of class MR::Line2d named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2d_GetMutable_p()

MRC_API MR_Vector2d * MR_Line2d_GetMutable_p ( MR_Line2d * _this)

Returns a mutable pointer to a member variable of class MR::Line2d named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2d_normalized()

MRC_API MR_Line2d * MR_Line2d_normalized ( const MR_Line2d * _this)

returns same line represented with unit d-vector Generated from a method of class MR::Line2d named normalized. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2d_Destroy() to free it when you're done using it.

◆ MR_Line2d_OffsetMutablePtr()

MRC_API MR_Line2d * MR_Line2d_OffsetMutablePtr ( MR_Line2d * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line2d_OffsetPtr()

MRC_API const MR_Line2d * MR_Line2d_OffsetPtr ( const MR_Line2d * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line2d_project()

MRC_API MR_Vector2d MR_Line2d_project ( const MR_Line2d * _this,
const MR_Vector2d * x )

finds the closest point on line Generated from a method of class MR::Line2d named project. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line2d_Set_d()

MRC_API void MR_Line2d_Set_d ( MR_Line2d * _this,
MR_Vector2d value )

Modifies a member variable of class MR::Line2d named d. Parameter _this can not be null. It is a single object.

◆ MR_Line2d_Set_p()

MRC_API void MR_Line2d_Set_p ( MR_Line2d * _this,
MR_Vector2d value )

Modifies a member variable of class MR::Line2d named p. Parameter _this can not be null. It is a single object.

◆ MR_Line2f_AssignFromAnother()

MRC_API MR_Line2f * MR_Line2f_AssignFromAnother ( MR_Line2f * _this,
const MR_Line2f * _other )

Generated from a method of class MR::Line2f named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2f_call()

MRC_API MR_Vector2f MR_Line2f_call ( const MR_Line2f * _this,
float param )

returns point on the line, where param=0 returns p and param=1 returns p+d Generated from a method of class MR::Line2f named operator(). Parameter _this can not be null. It is a single object.

◆ MR_Line2f_Construct()

MRC_API MR_Line2f * MR_Line2f_Construct ( const MR_Vector2f * p,
const MR_Vector2f * d )

Generated from a constructor of class MR::Line2f. Parameter p can not be null. It is a single object. Parameter d can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2f_Destroy() to free it when you're done using it.

◆ MR_Line2f_ConstructFromAnother()

MRC_API MR_Line2f * MR_Line2f_ConstructFromAnother ( const MR_Line2f * _other)

Generated from a constructor of class MR::Line2f. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2f_Destroy() to free it when you're done using it.

◆ MR_Line2f_DefaultConstruct()

MRC_API MR_Line2f * MR_Line2f_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2f_Destroy() to free it when you're done using it.

◆ MR_Line2f_DefaultConstructArray()

MRC_API MR_Line2f * MR_Line2f_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_Line2f_DestroyArray(). Use MR_Line2f_OffsetMutablePtr() and MR_Line2f_OffsetPtr() to access the array elements.

◆ MR_Line2f_Destroy()

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.

◆ MR_Line2f_DestroyArray()

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.

◆ MR_Line2f_distanceSq()

MRC_API float MR_Line2f_distanceSq ( const MR_Line2f * _this,
const MR_Vector2f * x )

returns squared distance from given point to this line Generated from a method of class MR::Line2f named distanceSq. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line2f_Get_d()

MRC_API const MR_Vector2f * MR_Line2f_Get_d ( const MR_Line2f * _this)

Returns a pointer to a member variable of class MR::Line2f named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2f_Get_p()

MRC_API const MR_Vector2f * MR_Line2f_Get_p ( const MR_Line2f * _this)

Returns a pointer to a member variable of class MR::Line2f named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2f_GetMutable_d()

MRC_API MR_Vector2f * MR_Line2f_GetMutable_d ( MR_Line2f * _this)

Returns a mutable pointer to a member variable of class MR::Line2f named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2f_GetMutable_p()

MRC_API MR_Vector2f * MR_Line2f_GetMutable_p ( MR_Line2f * _this)

Returns a mutable pointer to a member variable of class MR::Line2f named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line2f_normalized()

MRC_API MR_Line2f * MR_Line2f_normalized ( const MR_Line2f * _this)

returns same line represented with unit d-vector Generated from a method of class MR::Line2f named normalized. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2f_Destroy() to free it when you're done using it.

◆ MR_Line2f_OffsetMutablePtr()

MRC_API MR_Line2f * MR_Line2f_OffsetMutablePtr ( MR_Line2f * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line2f_OffsetPtr()

MRC_API const MR_Line2f * MR_Line2f_OffsetPtr ( const MR_Line2f * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line2f_project()

MRC_API MR_Vector2f MR_Line2f_project ( const MR_Line2f * _this,
const MR_Vector2f * x )

finds the closest point on line Generated from a method of class MR::Line2f named project. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line2f_Set_d()

MRC_API void MR_Line2f_Set_d ( MR_Line2f * _this,
MR_Vector2f value )

Modifies a member variable of class MR::Line2f named d. Parameter _this can not be null. It is a single object.

◆ MR_Line2f_Set_p()

MRC_API void MR_Line2f_Set_p ( MR_Line2f * _this,
MR_Vector2f value )

Modifies a member variable of class MR::Line2f named p. Parameter _this can not be null. It is a single object.

◆ MR_Line3d_AssignFromAnother()

MRC_API MR_Line3d * MR_Line3d_AssignFromAnother ( MR_Line3d * _this,
const MR_Line3d * _other )

Generated from a method of class MR::Line3d named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3d_call()

MRC_API MR_Vector3d MR_Line3d_call ( const MR_Line3d * _this,
double param )

returns point on the line, where param=0 returns p and param=1 returns p+d Generated from a method of class MR::Line3d named operator(). Parameter _this can not be null. It is a single object.

◆ MR_Line3d_Construct()

MRC_API MR_Line3d * MR_Line3d_Construct ( const MR_Vector3d * p,
const MR_Vector3d * d )

Generated from a constructor of class MR::Line3d. Parameter p can not be null. It is a single object. Parameter d can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3d_Destroy() to free it when you're done using it.

◆ MR_Line3d_ConstructFromAnother()

MRC_API MR_Line3d * MR_Line3d_ConstructFromAnother ( const MR_Line3d * _other)

Generated from a constructor of class MR::Line3d. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3d_Destroy() to free it when you're done using it.

◆ MR_Line3d_DefaultConstruct()

MRC_API MR_Line3d * MR_Line3d_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3d_Destroy() to free it when you're done using it.

◆ MR_Line3d_DefaultConstructArray()

MRC_API MR_Line3d * MR_Line3d_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_Line3d_DestroyArray(). Use MR_Line3d_OffsetMutablePtr() and MR_Line3d_OffsetPtr() to access the array elements.

◆ MR_Line3d_Destroy()

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.

◆ MR_Line3d_DestroyArray()

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.

◆ MR_Line3d_distanceSq()

MRC_API double MR_Line3d_distanceSq ( const MR_Line3d * _this,
const MR_Vector3d * x )

returns squared distance from given point to this line Generated from a method of class MR::Line3d named distanceSq. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line3d_Get_d()

MRC_API const MR_Vector3d * MR_Line3d_Get_d ( const MR_Line3d * _this)

Returns a pointer to a member variable of class MR::Line3d named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3d_Get_p()

MRC_API const MR_Vector3d * MR_Line3d_Get_p ( const MR_Line3d * _this)

Returns a pointer to a member variable of class MR::Line3d named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3d_GetMutable_d()

MRC_API MR_Vector3d * MR_Line3d_GetMutable_d ( MR_Line3d * _this)

Returns a mutable pointer to a member variable of class MR::Line3d named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3d_GetMutable_p()

MRC_API MR_Vector3d * MR_Line3d_GetMutable_p ( MR_Line3d * _this)

Returns a mutable pointer to a member variable of class MR::Line3d named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3d_normalized()

MRC_API MR_Line3d * MR_Line3d_normalized ( const MR_Line3d * _this)

returns same line represented with unit d-vector Generated from a method of class MR::Line3d named normalized. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3d_Destroy() to free it when you're done using it.

◆ MR_Line3d_OffsetMutablePtr()

MRC_API MR_Line3d * MR_Line3d_OffsetMutablePtr ( MR_Line3d * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line3d_OffsetPtr()

MRC_API const MR_Line3d * MR_Line3d_OffsetPtr ( const MR_Line3d * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line3d_project()

MRC_API MR_Vector3d MR_Line3d_project ( const MR_Line3d * _this,
const MR_Vector3d * x )

finds the closest point on line Generated from a method of class MR::Line3d named project. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line3d_Set_d()

MRC_API void MR_Line3d_Set_d ( MR_Line3d * _this,
MR_Vector3d value )

Modifies a member variable of class MR::Line3d named d. Parameter _this can not be null. It is a single object.

◆ MR_Line3d_Set_p()

MRC_API void MR_Line3d_Set_p ( MR_Line3d * _this,
MR_Vector3d value )

Modifies a member variable of class MR::Line3d named p. Parameter _this can not be null. It is a single object.

◆ MR_Line3f_AssignFromAnother()

MRC_API MR_Line3f * MR_Line3f_AssignFromAnother ( MR_Line3f * _this,
const MR_Line3f * _other )

Generated from a method of class MR::Line3f named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3f_call()

MRC_API MR_Vector3f MR_Line3f_call ( const MR_Line3f * _this,
float param )

returns point on the line, where param=0 returns p and param=1 returns p+d Generated from a method of class MR::Line3f named operator(). Parameter _this can not be null. It is a single object.

◆ MR_Line3f_Construct()

MRC_API MR_Line3f * MR_Line3f_Construct ( const MR_Vector3f * p,
const MR_Vector3f * d )

Generated from a constructor of class MR::Line3f. Parameter p can not be null. It is a single object. Parameter d can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it.

◆ MR_Line3f_Construct_MR_Vector3d()

MRC_API MR_Line3f * MR_Line3f_Construct_MR_Vector3d ( const MR_Line3d * l)

Generated from a constructor of class MR::Line3f. Parameter l can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it.

◆ MR_Line3f_ConstructFromAnother()

MRC_API MR_Line3f * MR_Line3f_ConstructFromAnother ( const MR_Line3f * _other)

Generated from a constructor of class MR::Line3f. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it.

◆ MR_Line3f_DefaultConstruct()

MRC_API MR_Line3f * MR_Line3f_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it.

◆ MR_Line3f_DefaultConstructArray()

MRC_API MR_Line3f * MR_Line3f_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_Line3f_DestroyArray(). Use MR_Line3f_OffsetMutablePtr() and MR_Line3f_OffsetPtr() to access the array elements.

◆ MR_Line3f_Destroy()

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.

◆ MR_Line3f_DestroyArray()

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.

◆ MR_Line3f_distanceSq()

MRC_API float MR_Line3f_distanceSq ( const MR_Line3f * _this,
const MR_Vector3f * x )

returns squared distance from given point to this line Generated from a method of class MR::Line3f named distanceSq. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line3f_Get_d()

MRC_API const MR_Vector3f * MR_Line3f_Get_d ( const MR_Line3f * _this)

Returns a pointer to a member variable of class MR::Line3f named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3f_Get_p()

MRC_API const MR_Vector3f * MR_Line3f_Get_p ( const MR_Line3f * _this)

Returns a pointer to a member variable of class MR::Line3f named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3f_GetMutable_d()

MRC_API MR_Vector3f * MR_Line3f_GetMutable_d ( MR_Line3f * _this)

Returns a mutable pointer to a member variable of class MR::Line3f named d. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3f_GetMutable_p()

MRC_API MR_Vector3f * MR_Line3f_GetMutable_p ( MR_Line3f * _this)

Returns a mutable pointer to a member variable of class MR::Line3f named p. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_Line3f_normalized()

MRC_API MR_Line3f * MR_Line3f_normalized ( const MR_Line3f * _this)

returns same line represented with unit d-vector Generated from a method of class MR::Line3f named normalized. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it.

◆ MR_Line3f_OffsetMutablePtr()

MRC_API MR_Line3f * MR_Line3f_OffsetMutablePtr ( MR_Line3f * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line3f_OffsetPtr()

MRC_API const MR_Line3f * MR_Line3f_OffsetPtr ( const MR_Line3f * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_Line3f_project()

MRC_API MR_Vector3f MR_Line3f_project ( const MR_Line3f * _this,
const MR_Vector3f * x )

finds the closest point on line Generated from a method of class MR::Line3f named project. Parameter _this can not be null. It is a single object. Parameter x can not be null. It is a single object.

◆ MR_Line3f_Set_d()

MRC_API void MR_Line3f_Set_d ( MR_Line3f * _this,
MR_Vector3f value )

Modifies a member variable of class MR::Line3f named d. Parameter _this can not be null. It is a single object.

◆ MR_Line3f_Set_p()

MRC_API void MR_Line3f_Set_p ( MR_Line3f * _this,
MR_Vector3f value )

Modifies a member variable of class MR::Line3f named p. Parameter _this can not be null. It is a single object.

◆ MR_neg_MR_Line2d()

MRC_API MR_Line2d * MR_neg_MR_Line2d ( const MR_Line2d * _this)

returns same line represented with flipped direction of d-vector Generated from a method of class MR::Line2d named operator-. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2d_Destroy() to free it when you're done using it.

◆ MR_neg_MR_Line2f()

MRC_API MR_Line2f * MR_neg_MR_Line2f ( const MR_Line2f * _this)

returns same line represented with flipped direction of d-vector Generated from a method of class MR::Line2f named operator-. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line2f_Destroy() to free it when you're done using it.

◆ MR_neg_MR_Line3d()

MRC_API MR_Line3d * MR_neg_MR_Line3d ( const MR_Line3d * _this)

returns same line represented with flipped direction of d-vector Generated from a method of class MR::Line3d named operator-. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3d_Destroy() to free it when you're done using it.

◆ MR_neg_MR_Line3f()

MRC_API MR_Line3f * MR_neg_MR_Line3f ( const MR_Line3f * _this)

returns same line represented with flipped direction of d-vector Generated from a method of class MR::Line3f named operator-. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it.

◆ MR_pos_MR_Line2d()

MRC_API const MR_Line2d * MR_pos_MR_Line2d ( const MR_Line2d * _this)

returns same representation Generated from a method of class MR::Line2d named operator+. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_pos_MR_Line2f()

MRC_API const MR_Line2f * MR_pos_MR_Line2f ( const MR_Line2f * _this)

returns same representation Generated from a method of class MR::Line2f named operator+. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_pos_MR_Line3d()

MRC_API const MR_Line3d * MR_pos_MR_Line3d ( const MR_Line3d * _this)

returns same representation Generated from a method of class MR::Line3d named operator+. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_pos_MR_Line3f()

MRC_API const MR_Line3f * MR_pos_MR_Line3f ( const MR_Line3f * _this)

returns same representation Generated from a method of class MR::Line3f named operator+. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.