MeshLib
 
Loading...
Searching...
No Matches
MRAffineXf.h File Reference
#include "MRMeshFwd.h"
#include "MRMatrix3.h"

Go to the source code of this file.

Classes

struct  MRAffineXf3f
 affine transformation: y = A*x + b, where A in VxV, and b in V More...
 

Typedefs

typedef MR_EXTERN_C_BEGIN struct MRAffineXf3f MRAffineXf3f
 affine transformation: y = A*x + b, where A in VxV, and b in V
 

Functions

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 MRAffineXf3f mrAffineXf3fLinear (const MRMatrix3f *A)
 creates linear-only transformation (without translation)
 
MRMESHC_API MRAffineXf3f mrAffineXf3fMul (const MRAffineXf3f *a, const MRAffineXf3f *b)
 
MRMESHC_API MRVector3f mrAffineXf3fApply (const MRAffineXf3f *xf, const MRVector3f *v)
 application of the transformation to a point
 

Typedef Documentation

◆ MRAffineXf3f

typedef MR_EXTERN_C_BEGIN struct MRAffineXf3f MRAffineXf3f

affine transformation: y = A*x + b, where A in VxV, and b in V

Function Documentation

◆ mrAffineXf3fApply()

MRMESHC_API MRVector3f mrAffineXf3fApply ( const MRAffineXf3f * xf,
const MRVector3f * v )

application of the transformation to a point

◆ mrAffineXf3fLinear()

MRMESHC_API MRAffineXf3f mrAffineXf3fLinear ( const MRMatrix3f * A)

creates linear-only transformation (without translation)

◆ mrAffineXf3fMul()

MRMESHC_API MRAffineXf3f mrAffineXf3fMul ( const MRAffineXf3f * a,
const MRAffineXf3f * b )

composition of two transformations:  y = (u * v) ( x ) = u( v( x ) ) = ( u.A * ( v.A * x + v.b ) + u.b ) = ( u.A * v.A ) * x + ( u.A * v.b + u.b )

◆ mrAffineXf3fNew()

MRMESHC_API MRAffineXf3f mrAffineXf3fNew ( void )

initializes a default instance

◆ mrAffineXf3fTranslation()

MRMESHC_API MRAffineXf3f mrAffineXf3fTranslation ( const MRVector3f * b)

creates translation-only transformation (with identity linear component)