MeshLib C Docs
Loading...
Searching...
No Matches
MRMultiwayAligningTransform.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stddef.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_Vector3d MR_Vector3d; // Defined in `#include <MRCMesh/MRVector3.h>`.
13typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
14typedef struct MR_std_vector_MR_RigidXf3d MR_std_vector_MR_RigidXf3d; // Defined in `#include <MRCMisc/std_vector_MR_RigidXf3d.h>`.
15
16
22
27
31
36
39
42
46
51
54
57
62
67
75MRC_API void MR_MultiwayAligningTransform_add_5_MR_Vector3d(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3d *pA, int objB, const MR_Vector3d *pB, const double *w);
76
84MRC_API void MR_MultiwayAligningTransform_add_5_MR_Vector3f(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3f *pA, int objB, const MR_Vector3f *pB, const float *w);
85
95MRC_API void MR_MultiwayAligningTransform_add_6_MR_Vector3d(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3d *pA, int objB, const MR_Vector3d *pB, const MR_Vector3d *n, const double *w);
96
106MRC_API void MR_MultiwayAligningTransform_add_6_MR_Vector3f(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3f *pA, int objB, const MR_Vector3f *pB, const MR_Vector3f *n, const float *w);
107
113
122
127
128// length units
133
134// length units
138
139// length units
144
145// dimensionless
150
151// dimensionless
155
156// dimensionless
161
165
170
174
177
180
185
188
191
197
198#ifdef __cplusplus
199} // extern "C"
200#endif
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_AssignFromAnother(MR_MultiwayAligningTransform_Stabilizer *_this, const MR_MultiwayAligningTransform_Stabilizer *_other)
struct MR_MultiwayAligningTransform_Stabilizer MR_MultiwayAligningTransform_Stabilizer
Definition MRMultiwayAligningTransform.h:26
MRC_API void MR_MultiwayAligningTransform_Stabilizer_Set_shift(MR_MultiwayAligningTransform_Stabilizer *_this, double value)
MRC_API MR_std_vector_MR_RigidXf3d * MR_MultiwayAligningTransform_solve_0(const MR_MultiwayAligningTransform *_this)
MRC_API void MR_MultiwayAligningTransform_DestroyArray(const MR_MultiwayAligningTransform *_this)
Destroys a heap-allocated array of MR_MultiwayAligningTransform. Does nothing if the pointer is null.
MRC_API void MR_MultiwayAligningTransform_add_5_MR_Vector3f(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3f *pA, int objB, const MR_Vector3f *pB, const float *w)
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_AssignFromAnother(MR_MultiwayAligningTransform *_this, MR_PassBy _other_pass_by, MR_MultiwayAligningTransform *_other)
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_ConstructFrom(double rot, double shift)
MRC_API void MR_MultiwayAligningTransform_Destroy(const MR_MultiwayAligningTransform *_this)
Destroys a heap-allocated instance of MR_MultiwayAligningTransform. Does nothing if the pointer is nu...
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_Construct(int numObjs)
MRC_API const MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_OffsetPtr(const MR_MultiwayAligningTransform *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 const double * MR_MultiwayAligningTransform_Stabilizer_Get_shift(const MR_MultiwayAligningTransform_Stabilizer *_this)
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_DefaultConstruct(void)
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_DefaultConstructArray(size_t num_elems)
MRC_API void MR_MultiwayAligningTransform_add_1(MR_MultiwayAligningTransform *_this, const MR_MultiwayAligningTransform *r)
MRC_API double * MR_MultiwayAligningTransform_Stabilizer_GetMutable_shift(MR_MultiwayAligningTransform_Stabilizer *_this)
MRC_API const double * MR_MultiwayAligningTransform_Stabilizer_Get_rot(const MR_MultiwayAligningTransform_Stabilizer *_this)
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_OffsetMutablePtr(MR_MultiwayAligningTransform *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_MultiwayAligningTransform * MR_MultiwayAligningTransform_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MultiwayAligningTransform *_other)
MRC_API void MR_MultiwayAligningTransform_reset(MR_MultiwayAligningTransform *_this, int numObjs)
MRC_API void MR_MultiwayAligningTransform_Stabilizer_Set_rot(MR_MultiwayAligningTransform_Stabilizer *_this, double value)
MRC_API double * MR_MultiwayAligningTransform_Stabilizer_GetMutable_rot(MR_MultiwayAligningTransform_Stabilizer *_this)
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_DefaultConstructArray(size_t num_elems)
struct MR_std_vector_MR_RigidXf3d MR_std_vector_MR_RigidXf3d
Definition MRMultiwayAligningTransform.h:14
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_ConstructFromAnother(const MR_MultiwayAligningTransform_Stabilizer *_other)
MRC_API void MR_MultiwayAligningTransform_Stabilizer_Destroy(const MR_MultiwayAligningTransform_Stabilizer *_this)
Destroys a heap-allocated instance of MR_MultiwayAligningTransform_Stabilizer. Does nothing if the po...
MRC_API void MR_MultiwayAligningTransform_add_6_MR_Vector3d(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3d *pA, int objB, const MR_Vector3d *pB, const MR_Vector3d *n, const double *w)
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_OffsetMutablePtr(MR_MultiwayAligningTransform_Stabilizer *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_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_DefaultConstruct(void)
MRC_API MR_std_vector_MR_RigidXf3d * MR_MultiwayAligningTransform_solve_1(const MR_MultiwayAligningTransform *_this, const MR_MultiwayAligningTransform_Stabilizer *stab)
struct MR_MultiwayAligningTransform MR_MultiwayAligningTransform
Definition MRMultiwayAligningTransform.h:21
MRC_API void MR_MultiwayAligningTransform_add_5_MR_Vector3d(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3d *pA, int objB, const MR_Vector3d *pB, const double *w)
MRC_API void MR_MultiwayAligningTransform_add_6_MR_Vector3f(MR_MultiwayAligningTransform *_this, int objA, const MR_Vector3f *pA, int objB, const MR_Vector3f *pB, const MR_Vector3f *n, const float *w)
MRC_API const MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_OffsetPtr(const MR_MultiwayAligningTransform_Stabilizer *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_MultiwayAligningTransform_Stabilizer_DestroyArray(const MR_MultiwayAligningTransform_Stabilizer *_this)
Destroys a heap-allocated array of MR_MultiwayAligningTransform_Stabilizer. Does nothing if the point...
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:59
Definition MRVector3.h:50