MeshLib C# Docs
Loading...
Searching...
No Matches
MR.AffineXf3d Struct Reference

affine transformation: y = A*x + b, where A in VxV, and b in V Generated from class MR.AffineXf3d. This is the by-value version of the struct. More...

+ Inheritance diagram for MR.AffineXf3d:

Public Member Functions

 AffineXf3d (AffineXf3d _other)
 Generated copy constructor.
 
unsafe AffineXf3d ()
 Constructs an empty (default-constructed) instance.
 
unsafe AffineXf3d (in MR.Matrix3d A, in MR.Vector3d b)
 Generated from constructor MR.AffineXf3d.AffineXf3d.
 
readonly unsafe MR.Vector3d call (in MR.Vector3d x)
 application of the transformation to a point Generated from method MR.AffineXf3d.operator().
 
readonly unsafe MR.Vector3d linearOnly (in MR.Vector3d x)
 applies only linear part of the transformation to given vector (e.g. to normal) skipping adding shift (b) for example if this is a rigid transformation, then only rotates input vector Generated from method MR.AffineXf3d.linearOnly.
 
readonly unsafe MR.AffineXf3d inverse ()
 computes inverse transformation Generated from method MR.AffineXf3d.inverse.
 
bool Equals (MR.AffineXf3d b)
 
override bool Equals (object? other)
 

Static Public Member Functions

static implicit operator AffineXf3d (ConstBox_AffineXf3d other)
 Copy contents from a wrapper class to this struct.
 
static unsafe MR.AffineXf3d translation (in MR.Vector3d b)
 creates translation-only transformation (with identity linear component) Generated from method MR.AffineXf3d.translation.
 
static unsafe MR.AffineXf3d linear (in MR.Matrix3d A)
 creates linear-only transformation (without translation) Generated from method MR.AffineXf3d.linear.
 
static unsafe MR.AffineXf3d xfAround (in MR.Matrix3d A, in MR.Vector3d stable)
 creates transformation with given linear part with given stable point Generated from method MR.AffineXf3d.xfAround.
 
static unsafe MR.AffineXf3d operator* (MR.AffineXf3d u, in MR.AffineXf3d v)
 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 ) \) Generated from function MR.operator*.
 
static unsafe bool operator== (MR.AffineXf3d a, MR.AffineXf3d b)
 Generated from function MR.operator==.
 
static unsafe bool operator!= (MR.AffineXf3d a, MR.AffineXf3d b)
 

Public Attributes

MR.Matrix3d a
 
MR.Vector3d b
 

Detailed Description

affine transformation: y = A*x + b, where A in VxV, and b in V Generated from class MR.AffineXf3d. This is the by-value version of the struct.

Constructor & Destructor Documentation

◆ AffineXf3d() [1/3]

MR.AffineXf3d.AffineXf3d ( AffineXf3d _other)
inline

Generated copy constructor.

◆ AffineXf3d() [2/3]

unsafe MR.AffineXf3d.AffineXf3d ( )
inline

Constructs an empty (default-constructed) instance.

◆ AffineXf3d() [3/3]

unsafe MR.AffineXf3d.AffineXf3d ( in MR.Matrix3d A,
in MR.Vector3d b )
inline

Generated from constructor MR.AffineXf3d.AffineXf3d.

Member Function Documentation

◆ call()

readonly unsafe MR.Vector3d MR.AffineXf3d.call ( in MR.Vector3d x)
inline

application of the transformation to a point Generated from method MR.AffineXf3d.operator().

◆ Equals() [1/2]

bool MR.AffineXf3d.Equals ( MR.AffineXf3d b)
inline

◆ Equals() [2/2]

override bool MR.AffineXf3d.Equals ( object? other)
inline

◆ inverse()

readonly unsafe MR.AffineXf3d MR.AffineXf3d.inverse ( )
inline

computes inverse transformation Generated from method MR.AffineXf3d.inverse.

◆ linear()

static unsafe MR.AffineXf3d MR.AffineXf3d.linear ( in MR.Matrix3d A)
inlinestatic

creates linear-only transformation (without translation) Generated from method MR.AffineXf3d.linear.

◆ linearOnly()

readonly unsafe MR.Vector3d MR.AffineXf3d.linearOnly ( in MR.Vector3d x)
inline

applies only linear part of the transformation to given vector (e.g. to normal) skipping adding shift (b) for example if this is a rigid transformation, then only rotates input vector Generated from method MR.AffineXf3d.linearOnly.

◆ operator AffineXf3d()

static implicit MR.AffineXf3d.operator AffineXf3d ( ConstBox_AffineXf3d other)
static

Copy contents from a wrapper class to this struct.

◆ operator!=()

static unsafe bool MR.AffineXf3d.operator!= ( MR.AffineXf3d a,
MR.AffineXf3d b )
inlinestatic

◆ operator*()

static unsafe MR.AffineXf3d MR.AffineXf3d.operator* ( MR.AffineXf3d u,
in MR.AffineXf3d v )
inlinestatic

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 ) \) Generated from function MR.operator*.

◆ operator==()

static unsafe bool MR.AffineXf3d.operator== ( MR.AffineXf3d a,
MR.AffineXf3d b )
inlinestatic

Generated from function MR.operator==.

◆ translation()

static unsafe MR.AffineXf3d MR.AffineXf3d.translation ( in MR.Vector3d b)
inlinestatic

creates translation-only transformation (with identity linear component) Generated from method MR.AffineXf3d.translation.

◆ xfAround()

static unsafe MR.AffineXf3d MR.AffineXf3d.xfAround ( in MR.Matrix3d A,
in MR.Vector3d stable )
inlinestatic

creates transformation with given linear part with given stable point Generated from method MR.AffineXf3d.xfAround.

Member Data Documentation

◆ a

MR.Matrix3d MR.AffineXf3d.a

◆ b

MR.Vector3d MR.AffineXf3d.b

The documentation for this struct was generated from the following file: