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
#include <stdint.h>
8
9
#ifdef __cplusplus
10
extern
"C"
{
11
#endif
12
13
typedef
struct
MR_Vector3d
MR_Vector3d
;
// Defined in `#include <MRCMesh/MRVector3.h>`.
14
typedef
struct
MR_Vector3f
MR_Vector3f
;
// Defined in `#include <MRCMesh/MRVector3.h>`.
15
typedef
struct
MR_std_vector_MR_RigidXf3d
MR_std_vector_MR_RigidXf3d
;
// Defined in `#include <MRCMisc/std_vector_MR_RigidXf3d.h>`.
16
17
22
typedef
struct
MR_MultiwayAligningTransform
MR_MultiwayAligningTransform
;
23
27
typedef
struct
MR_MultiwayAligningTransform_Stabilizer
MR_MultiwayAligningTransform_Stabilizer
;
28
31
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_DefaultConstruct
(
void
);
32
36
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_DefaultConstructArray
(
size_t
num_elems);
37
39
MRC_API
const
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_OffsetPtr
(
const
MR_MultiwayAligningTransform
*ptr, ptrdiff_t i);
40
42
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_OffsetMutablePtr
(
MR_MultiwayAligningTransform
*ptr, ptrdiff_t i);
43
46
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_ConstructFromAnother
(
MR_PassBy
_other_pass_by,
MR_MultiwayAligningTransform
*_other);
47
51
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_Construct
(int32_t numObjs);
52
54
MRC_API
void
MR_MultiwayAligningTransform_Destroy
(
const
MR_MultiwayAligningTransform
*_this);
55
57
MRC_API
void
MR_MultiwayAligningTransform_DestroyArray
(
const
MR_MultiwayAligningTransform
*_this);
58
62
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_AssignFromAnother
(
MR_MultiwayAligningTransform
*_this,
MR_PassBy
_other_pass_by,
MR_MultiwayAligningTransform
*_other);
63
67
MRC_API
void
MR_MultiwayAligningTransform_reset
(
MR_MultiwayAligningTransform
*_this, int32_t numObjs);
68
76
MRC_API
void
MR_MultiwayAligningTransform_add_5_MR_Vector3d
(
MR_MultiwayAligningTransform
*_this, int32_t objA,
const
MR_Vector3d
*pA, int32_t objB,
const
MR_Vector3d
*pB,
const
double
*w);
77
85
MRC_API
void
MR_MultiwayAligningTransform_add_5_MR_Vector3f
(
MR_MultiwayAligningTransform
*_this, int32_t objA,
const
MR_Vector3f
*pA, int32_t objB,
const
MR_Vector3f
*pB,
const
float
*w);
86
96
MRC_API
void
MR_MultiwayAligningTransform_add_6_MR_Vector3d
(
MR_MultiwayAligningTransform
*_this, int32_t objA,
const
MR_Vector3d
*pA, int32_t objB,
const
MR_Vector3d
*pB,
const
MR_Vector3d
*n,
const
double
*w);
97
107
MRC_API
void
MR_MultiwayAligningTransform_add_6_MR_Vector3f
(
MR_MultiwayAligningTransform
*_this, int32_t objA,
const
MR_Vector3f
*pA, int32_t objB,
const
MR_Vector3f
*pB,
const
MR_Vector3f
*n,
const
float
*w);
108
113
MRC_API
void
MR_MultiwayAligningTransform_add_1
(
MR_MultiwayAligningTransform
*_this,
const
MR_MultiwayAligningTransform
*r);
114
122
MRC_API
MR_std_vector_MR_RigidXf3d
*
MR_MultiwayAligningTransform_solve_1
(
const
MR_MultiwayAligningTransform
*_this,
const
MR_MultiwayAligningTransform_Stabilizer
*stab);
123
127
MRC_API
MR_std_vector_MR_RigidXf3d
*
MR_MultiwayAligningTransform_solve_0
(
const
MR_MultiwayAligningTransform
*_this);
128
129
// length units
133
MRC_API
const
double
*
MR_MultiwayAligningTransform_Stabilizer_Get_rot
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
134
135
// length units
138
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_Set_rot
(
MR_MultiwayAligningTransform_Stabilizer
*_this,
double
value);
139
140
// length units
144
MRC_API
double
*
MR_MultiwayAligningTransform_Stabilizer_GetMutable_rot
(
MR_MultiwayAligningTransform_Stabilizer
*_this);
145
146
// dimensionless
150
MRC_API
const
double
*
MR_MultiwayAligningTransform_Stabilizer_Get_shift
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
151
152
// dimensionless
155
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_Set_shift
(
MR_MultiwayAligningTransform_Stabilizer
*_this,
double
value);
156
157
// dimensionless
161
MRC_API
double
*
MR_MultiwayAligningTransform_Stabilizer_GetMutable_shift
(
MR_MultiwayAligningTransform_Stabilizer
*_this);
162
165
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_DefaultConstruct
(
void
);
166
170
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_DefaultConstructArray
(
size_t
num_elems);
171
174
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_ConstructFrom
(
double
rot,
double
shift);
175
177
MRC_API
const
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_OffsetPtr
(
const
MR_MultiwayAligningTransform_Stabilizer
*ptr, ptrdiff_t i);
178
180
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_OffsetMutablePtr
(
MR_MultiwayAligningTransform_Stabilizer
*ptr, ptrdiff_t i);
181
185
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_ConstructFromAnother
(
const
MR_MultiwayAligningTransform_Stabilizer
*_other);
186
188
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_Destroy
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
189
191
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_DestroyArray
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
192
197
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_AssignFromAnother
(
MR_MultiwayAligningTransform_Stabilizer
*_this,
const
MR_MultiwayAligningTransform_Stabilizer
*_other);
198
199
#ifdef __cplusplus
200
}
// extern "C"
201
#endif
MR_MultiwayAligningTransform_Stabilizer_AssignFromAnother
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_AssignFromAnother(MR_MultiwayAligningTransform_Stabilizer *_this, const MR_MultiwayAligningTransform_Stabilizer *_other)
MR_MultiwayAligningTransform_Stabilizer
struct MR_MultiwayAligningTransform_Stabilizer MR_MultiwayAligningTransform_Stabilizer
Definition
MRMultiwayAligningTransform.h:27
MR_MultiwayAligningTransform_Stabilizer_Set_shift
MRC_API void MR_MultiwayAligningTransform_Stabilizer_Set_shift(MR_MultiwayAligningTransform_Stabilizer *_this, double value)
MR_MultiwayAligningTransform_solve_0
MRC_API MR_std_vector_MR_RigidXf3d * MR_MultiwayAligningTransform_solve_0(const MR_MultiwayAligningTransform *_this)
MR_MultiwayAligningTransform_DestroyArray
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.
MR_MultiwayAligningTransform_AssignFromAnother
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_AssignFromAnother(MR_MultiwayAligningTransform *_this, MR_PassBy _other_pass_by, MR_MultiwayAligningTransform *_other)
MR_MultiwayAligningTransform_Stabilizer_ConstructFrom
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_ConstructFrom(double rot, double shift)
MR_MultiwayAligningTransform_Destroy
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...
MR_MultiwayAligningTransform_OffsetPtr
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...
MR_MultiwayAligningTransform_Stabilizer_Get_shift
MRC_API const double * MR_MultiwayAligningTransform_Stabilizer_Get_shift(const MR_MultiwayAligningTransform_Stabilizer *_this)
MR_MultiwayAligningTransform_add_5_MR_Vector3d
MRC_API void MR_MultiwayAligningTransform_add_5_MR_Vector3d(MR_MultiwayAligningTransform *_this, int32_t objA, const MR_Vector3d *pA, int32_t objB, const MR_Vector3d *pB, const double *w)
MR_MultiwayAligningTransform_DefaultConstruct
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_DefaultConstruct(void)
MR_MultiwayAligningTransform_Stabilizer_DefaultConstructArray
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_DefaultConstructArray(size_t num_elems)
MR_MultiwayAligningTransform_add_1
MRC_API void MR_MultiwayAligningTransform_add_1(MR_MultiwayAligningTransform *_this, const MR_MultiwayAligningTransform *r)
MR_MultiwayAligningTransform_Stabilizer_GetMutable_shift
MRC_API double * MR_MultiwayAligningTransform_Stabilizer_GetMutable_shift(MR_MultiwayAligningTransform_Stabilizer *_this)
MR_MultiwayAligningTransform_Stabilizer_Get_rot
MRC_API const double * MR_MultiwayAligningTransform_Stabilizer_Get_rot(const MR_MultiwayAligningTransform_Stabilizer *_this)
MR_MultiwayAligningTransform_reset
MRC_API void MR_MultiwayAligningTransform_reset(MR_MultiwayAligningTransform *_this, int32_t numObjs)
MR_MultiwayAligningTransform_add_6_MR_Vector3f
MRC_API void MR_MultiwayAligningTransform_add_6_MR_Vector3f(MR_MultiwayAligningTransform *_this, int32_t objA, const MR_Vector3f *pA, int32_t objB, const MR_Vector3f *pB, const MR_Vector3f *n, const float *w)
MR_MultiwayAligningTransform_OffsetMutablePtr
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...
MR_MultiwayAligningTransform_ConstructFromAnother
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MultiwayAligningTransform *_other)
MR_MultiwayAligningTransform_Construct
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_Construct(int32_t numObjs)
MR_MultiwayAligningTransform_add_6_MR_Vector3d
MRC_API void MR_MultiwayAligningTransform_add_6_MR_Vector3d(MR_MultiwayAligningTransform *_this, int32_t objA, const MR_Vector3d *pA, int32_t objB, const MR_Vector3d *pB, const MR_Vector3d *n, const double *w)
MR_MultiwayAligningTransform_Stabilizer_Set_rot
MRC_API void MR_MultiwayAligningTransform_Stabilizer_Set_rot(MR_MultiwayAligningTransform_Stabilizer *_this, double value)
MR_MultiwayAligningTransform_Stabilizer_GetMutable_rot
MRC_API double * MR_MultiwayAligningTransform_Stabilizer_GetMutable_rot(MR_MultiwayAligningTransform_Stabilizer *_this)
MR_MultiwayAligningTransform_DefaultConstructArray
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_DefaultConstructArray(size_t num_elems)
MR_std_vector_MR_RigidXf3d
struct MR_std_vector_MR_RigidXf3d MR_std_vector_MR_RigidXf3d
Definition
MRMultiwayAligningTransform.h:15
MR_MultiwayAligningTransform_Stabilizer_ConstructFromAnother
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_ConstructFromAnother(const MR_MultiwayAligningTransform_Stabilizer *_other)
MR_MultiwayAligningTransform_Stabilizer_Destroy
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...
MR_MultiwayAligningTransform_Stabilizer_OffsetMutablePtr
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...
MR_MultiwayAligningTransform_Stabilizer_DefaultConstruct
MRC_API MR_MultiwayAligningTransform_Stabilizer * MR_MultiwayAligningTransform_Stabilizer_DefaultConstruct(void)
MR_MultiwayAligningTransform_solve_1
MRC_API MR_std_vector_MR_RigidXf3d * MR_MultiwayAligningTransform_solve_1(const MR_MultiwayAligningTransform *_this, const MR_MultiwayAligningTransform_Stabilizer *stab)
MR_MultiwayAligningTransform_add_5_MR_Vector3f
MRC_API void MR_MultiwayAligningTransform_add_5_MR_Vector3f(MR_MultiwayAligningTransform *_this, int32_t objA, const MR_Vector3f *pA, int32_t objB, const MR_Vector3f *pB, const float *w)
MR_MultiwayAligningTransform
struct MR_MultiwayAligningTransform MR_MultiwayAligningTransform
Definition
MRMultiwayAligningTransform.h:22
MR_MultiwayAligningTransform_Stabilizer_OffsetPtr
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...
MR_MultiwayAligningTransform_Stabilizer_DestroyArray
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...
common.h
MR_PassBy
MR_PassBy
Definition
common.h:19
exports.h
MRC_API
#define MRC_API
Definition
exports.h:11
MR_Vector3d
Definition
MRVector3.h:60
MR_Vector3f
Definition
MRVector3.h:51
MeshLib
Cbindings
MRCMesh
MRMultiwayAligningTransform.h
Generated by
1.11.0