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
9
extern
"C"
{
10
#endif
11
12
typedef
struct
MR_Vector3d
MR_Vector3d
;
// Defined in `#include <MRCMesh/MRVector3.h>`.
13
typedef
struct
MR_Vector3f
MR_Vector3f
;
// Defined in `#include <MRCMesh/MRVector3.h>`.
14
typedef
struct
MR_std_vector_MR_RigidXf3d
MR_std_vector_MR_RigidXf3d
;
// Defined in `#include <MRCMisc/std_vector_MR_RigidXf3d.h>`.
15
16
21
typedef
struct
MR_MultiwayAligningTransform
MR_MultiwayAligningTransform
;
22
26
typedef
struct
MR_MultiwayAligningTransform_Stabilizer
MR_MultiwayAligningTransform_Stabilizer
;
27
30
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_DefaultConstruct
(
void
);
31
35
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_DefaultConstructArray
(
size_t
num_elems);
36
38
MRC_API
const
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_OffsetPtr
(
const
MR_MultiwayAligningTransform
*ptr, ptrdiff_t i);
39
41
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_OffsetMutablePtr
(
MR_MultiwayAligningTransform
*ptr, ptrdiff_t i);
42
45
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_ConstructFromAnother
(
MR_PassBy
_other_pass_by,
MR_MultiwayAligningTransform
*_other);
46
50
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_Construct
(
int
numObjs);
51
53
MRC_API
void
MR_MultiwayAligningTransform_Destroy
(
const
MR_MultiwayAligningTransform
*_this);
54
56
MRC_API
void
MR_MultiwayAligningTransform_DestroyArray
(
const
MR_MultiwayAligningTransform
*_this);
57
61
MRC_API
MR_MultiwayAligningTransform
*
MR_MultiwayAligningTransform_AssignFromAnother
(
MR_MultiwayAligningTransform
*_this,
MR_PassBy
_other_pass_by,
MR_MultiwayAligningTransform
*_other);
62
66
MRC_API
void
MR_MultiwayAligningTransform_reset
(
MR_MultiwayAligningTransform
*_this,
int
numObjs);
67
75
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);
76
84
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);
85
95
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);
96
106
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);
107
112
MRC_API
void
MR_MultiwayAligningTransform_add_1
(
MR_MultiwayAligningTransform
*_this,
const
MR_MultiwayAligningTransform
*r);
113
121
MRC_API
MR_std_vector_MR_RigidXf3d
*
MR_MultiwayAligningTransform_solve_1
(
const
MR_MultiwayAligningTransform
*_this,
const
MR_MultiwayAligningTransform_Stabilizer
*stab);
122
126
MRC_API
MR_std_vector_MR_RigidXf3d
*
MR_MultiwayAligningTransform_solve_0
(
const
MR_MultiwayAligningTransform
*_this);
127
128
// length units
132
MRC_API
const
double
*
MR_MultiwayAligningTransform_Stabilizer_Get_rot
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
133
134
// length units
137
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_Set_rot
(
MR_MultiwayAligningTransform_Stabilizer
*_this,
double
value);
138
139
// length units
143
MRC_API
double
*
MR_MultiwayAligningTransform_Stabilizer_GetMutable_rot
(
MR_MultiwayAligningTransform_Stabilizer
*_this);
144
145
// dimensionless
149
MRC_API
const
double
*
MR_MultiwayAligningTransform_Stabilizer_Get_shift
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
150
151
// dimensionless
154
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_Set_shift
(
MR_MultiwayAligningTransform_Stabilizer
*_this,
double
value);
155
156
// dimensionless
160
MRC_API
double
*
MR_MultiwayAligningTransform_Stabilizer_GetMutable_shift
(
MR_MultiwayAligningTransform_Stabilizer
*_this);
161
164
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_DefaultConstruct
(
void
);
165
169
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_DefaultConstructArray
(
size_t
num_elems);
170
173
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_ConstructFrom
(
double
rot,
double
shift);
174
176
MRC_API
const
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_OffsetPtr
(
const
MR_MultiwayAligningTransform_Stabilizer
*ptr, ptrdiff_t i);
177
179
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_OffsetMutablePtr
(
MR_MultiwayAligningTransform_Stabilizer
*ptr, ptrdiff_t i);
180
184
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_ConstructFromAnother
(
const
MR_MultiwayAligningTransform_Stabilizer
*_other);
185
187
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_Destroy
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
188
190
MRC_API
void
MR_MultiwayAligningTransform_Stabilizer_DestroyArray
(
const
MR_MultiwayAligningTransform_Stabilizer
*_this);
191
196
MRC_API
MR_MultiwayAligningTransform_Stabilizer
*
MR_MultiwayAligningTransform_Stabilizer_AssignFromAnother
(
MR_MultiwayAligningTransform_Stabilizer
*_this,
const
MR_MultiwayAligningTransform_Stabilizer
*_other);
197
198
#ifdef __cplusplus
199
}
// extern "C"
200
#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:26
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_add_5_MR_Vector3f
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)
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_Construct
MRC_API MR_MultiwayAligningTransform * MR_MultiwayAligningTransform_Construct(int numObjs)
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_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_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_reset
MRC_API void MR_MultiwayAligningTransform_reset(MR_MultiwayAligningTransform *_this, int numObjs)
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:14
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_add_6_MR_Vector3d
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)
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
struct MR_MultiwayAligningTransform MR_MultiwayAligningTransform
Definition
MRMultiwayAligningTransform.h:21
MR_MultiwayAligningTransform_add_5_MR_Vector3d
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)
MR_MultiwayAligningTransform_add_6_MR_Vector3f
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)
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:59
MR_Vector3f
Definition
MRVector3.h:50
MeshLib
Cbindings
MRCMesh
MRMultiwayAligningTransform.h
Generated by
1.11.0