MeshLib C# Docs
Loading...
Searching...
No Matches
MR.MultiwayAligningTransform Class Reference

This class can be used to solve the problem of multiple 3D objects alignment, by first collecting weighted links between pairs of points from different objects, and then solving for transformations minimizing weighted average of link penalties Generated from class MR.MultiwayAligningTransform. This is the non-const half of the class. More...

+ Inheritance diagram for MR.MultiwayAligningTransform:

Public Member Functions

unsafe MultiwayAligningTransform ()
 Constructs an empty (default-constructed) instance.
 
unsafe MultiwayAligningTransform (MR._ByValue_MultiwayAligningTransform _other)
 Generated from constructor MR.MultiwayAligningTransform.MultiwayAligningTransform.
 
unsafe MultiwayAligningTransform (int numObjs)
 initializes internal data to start registering given number of objects Generated from constructor MR.MultiwayAligningTransform.MultiwayAligningTransform.
 
unsafe MR.MultiwayAligningTransform assign (MR._ByValue_MultiwayAligningTransform _other)
 Generated from method MR.MultiwayAligningTransform.operator=.
 
unsafe void reset (int numObjs)
 reinitializes internal data to start registering given number of objects Generated from method MR.MultiwayAligningTransform.reset.
 
unsafe void add (int objA, in MR.Vector3d pA, int objB, in MR.Vector3d pB, double? w=null)
 appends a 3D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between two points Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.
 
unsafe void add (int objA, in MR.Vector3f pA, int objB, in MR.Vector3f pB, float? w=null)
 appends a 3D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between two points Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.
 
unsafe void add (int objA, in MR.Vector3d pA, int objB, in MR.Vector3d pB, in MR.Vector3d n, double? w=null)
 appends a 1D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between their projections on given direction (n); for a point on last fixed object, it is equivalent to point-to-plane link with the plane through that fixed point with normal (n) Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.
 
unsafe void add (int objA, in MR.Vector3f pA, int objB, in MR.Vector3f pB, in MR.Vector3f n, float? w=null)
 appends a 1D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between their projections on given direction (n); for a point on last fixed object, it is equivalent to point-to-plane link with the plane through that fixed point with normal (n) Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.
 
unsafe void add (MR.Const_MultiwayAligningTransform r)
 appends links accumulated in (r) into this Generated from method MR.MultiwayAligningTransform.add.
 

Detailed Description

This class can be used to solve the problem of multiple 3D objects alignment, by first collecting weighted links between pairs of points from different objects, and then solving for transformations minimizing weighted average of link penalties Generated from class MR.MultiwayAligningTransform. This is the non-const half of the class.

Constructor & Destructor Documentation

◆ MultiwayAligningTransform() [1/3]

unsafe MR.MultiwayAligningTransform.MultiwayAligningTransform ( )
inline

Constructs an empty (default-constructed) instance.

◆ MultiwayAligningTransform() [2/3]

unsafe MR.MultiwayAligningTransform.MultiwayAligningTransform ( MR._ByValue_MultiwayAligningTransform _other)
inline

Generated from constructor MR.MultiwayAligningTransform.MultiwayAligningTransform.

◆ MultiwayAligningTransform() [3/3]

unsafe MR.MultiwayAligningTransform.MultiwayAligningTransform ( int numObjs)
inline

initializes internal data to start registering given number of objects Generated from constructor MR.MultiwayAligningTransform.MultiwayAligningTransform.

Member Function Documentation

◆ add() [1/5]

unsafe void MR.MultiwayAligningTransform.add ( int objA,
in MR.Vector3d pA,
int objB,
in MR.Vector3d pB,
double? w = null )
inline

appends a 3D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between two points Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.

◆ add() [2/5]

unsafe void MR.MultiwayAligningTransform.add ( int objA,
in MR.Vector3d pA,
int objB,
in MR.Vector3d pB,
in MR.Vector3d n,
double? w = null )
inline

appends a 1D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between their projections on given direction (n); for a point on last fixed object, it is equivalent to point-to-plane link with the plane through that fixed point with normal (n) Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.

◆ add() [3/5]

unsafe void MR.MultiwayAligningTransform.add ( int objA,
in MR.Vector3f pA,
int objB,
in MR.Vector3f pB,
float? w = null )
inline

appends a 3D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between two points Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.

◆ add() [4/5]

unsafe void MR.MultiwayAligningTransform.add ( int objA,
in MR.Vector3f pA,
int objB,
in MR.Vector3f pB,
in MR.Vector3f n,
float? w = null )
inline

appends a 1D link into consideration: one point (pA) from (objA), and the other point (pB) from (objB) with link penalty equal to weight (w) times squared distance between their projections on given direction (n); for a point on last fixed object, it is equivalent to point-to-plane link with the plane through that fixed point with normal (n) Generated from method MR.MultiwayAligningTransform.add. Parameter w defaults to 1.

◆ add() [5/5]

unsafe void MR.MultiwayAligningTransform.add ( MR.Const_MultiwayAligningTransform r)
inline

appends links accumulated in (r) into this Generated from method MR.MultiwayAligningTransform.add.

◆ assign()

unsafe MR.MultiwayAligningTransform MR.MultiwayAligningTransform.assign ( MR._ByValue_MultiwayAligningTransform _other)
inline

Generated from method MR.MultiwayAligningTransform.operator=.

◆ reset()

unsafe void MR.MultiwayAligningTransform.reset ( int numObjs)
inline

reinitializes internal data to start registering given number of objects Generated from method MR.MultiwayAligningTransform.reset.


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