MRMESHC_API MRAffineXf3f mrAffineXf3fNew(void)
initializes a default instance
MRMESHC_API MRAffineXf3f mrAffineXf3fTranslation(const MRVector3f *b)
creates translation-only transformation (with identity linear component)
MRMESHC_API MRVector3f mrAffineXf3fApply(const MRAffineXf3f *xf, const MRVector3f *v)
application of the transformation to a point
MRMESHC_API MRAffineXf3f mrAffineXf3fMul(const MRAffineXf3f *a, const MRAffineXf3f *b)
MRMESHC_API MRAffineXf3f mrAffineXf3fLinear(const MRMatrix3f *A)
creates linear-only transformation (without translation)
MR_EXTERN_C_BEGIN struct MRAffineXf3f MRAffineXf3f
affine transformation: y = A*x + b, where A in VxV, and b in V
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
affine transformation: y = A*x + b, where A in VxV, and b in V
Definition MRMeshC/MRAffineXf.h:10
MRVector3f b
Definition MRMeshC/MRAffineXf.h:12
MRMatrix3f A
Definition MRMeshC/MRAffineXf.h:11
arbitrary row-major 3x3 matrix
Definition MRMeshC/MRMatrix3.h:10
three-dimensional vector
Definition MRMeshC/MRVector3.h:9