MeshLib Java Docs
Loading...
Searching...
No Matches
meshlib.MultiwayAligningTransform Class Reference
Inheritance diagram for meshlib.MultiwayAligningTransform:

Public Member Functions

 MultiwayAligningTransform (java.lang.foreign.MemorySegment ptr, boolean owned, java.lang.Object owner)
 MultiwayAligningTransform ()
 MultiwayAligningTransform (meshlib.MultiwayAligningTransform _other)
 MultiwayAligningTransform (int numObjs)
meshlib.MultiwayAligningTransform assignFromAnother (meshlib.MultiwayAligningTransform _other)
void reset (int numObjs)
void add (int objA, meshlib.Vector3d pA, int objB, meshlib.Vector3d pB, java.lang.Double w)
void add (int objA, meshlib.Vector3f pA, int objB, meshlib.Vector3f pB, java.lang.Float w)
void add (int objA, meshlib.Vector3d pA, int objB, meshlib.Vector3d pB, meshlib.Vector3d n, java.lang.Double w)
void add (int objA, meshlib.Vector3f pA, int objB, meshlib.Vector3f pB, meshlib.Vector3f n, java.lang.Float w)
void add (meshlib.MultiwayAligningTransform r)
meshlib.std_vector_MR_RigidXf3d solve (meshlib.MultiwayAligningTransform_Stabilizer stab)
meshlib.std_vector_MR_RigidXf3d solve ()
Public Member Functions inherited from meshlib.CppObject
final java.lang.foreign.MemorySegment rawPointer ()
final boolean isOwned ()
final void close ()
final java.lang.foreign.MemorySegment release ()

Additional Inherited Members

Protected Member Functions inherited from meshlib.CppObject
 CppObject (java.lang.foreign.MemorySegment ptr, java.util.function.Consumer< java.lang.foreign.MemorySegment > destroy, java.lang.Object owner)

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.

Instances created here own their C++ objects, see CppObject.

Constructor & Destructor Documentation

◆ MultiwayAligningTransform() [1/4]

meshlib.MultiwayAligningTransform.MultiwayAligningTransform ( java.lang.foreign.MemorySegment ptr,
boolean owned,
java.lang.Object owner )

Wraps a pointer from the C bindings. If owned, the object is destroyed when the wrapper dies. owner is kept alive as long as this wrapper is. Not for normal use.

◆ MultiwayAligningTransform() [2/4]

meshlib.MultiwayAligningTransform.MultiwayAligningTransform ( )

Constructs an empty (default-constructed) instance.

Calls MR_MultiwayAligningTransform_DefaultConstruct().

◆ MultiwayAligningTransform() [3/4]

meshlib.MultiwayAligningTransform.MultiwayAligningTransform ( meshlib.MultiwayAligningTransform _other)

Generated from constructor MR::MultiwayAligningTransform::MultiwayAligningTransform. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.

Calls MR_MultiwayAligningTransform_ConstructFromAnother().

◆ MultiwayAligningTransform() [4/4]

meshlib.MultiwayAligningTransform.MultiwayAligningTransform ( int numObjs)

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

Calls MR_MultiwayAligningTransform_Construct().

Member Function Documentation

◆ add() [1/5]

void meshlib.MultiwayAligningTransform.add ( int objA,
meshlib.Vector3d pA,
int objB,
meshlib.Vector3d pB,
java.lang.Double w )

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.

Calls MR_MultiwayAligningTransform_add_5_MR_Vector3d().

◆ add() [2/5]

void meshlib.MultiwayAligningTransform.add ( int objA,
meshlib.Vector3d pA,
int objB,
meshlib.Vector3d pB,
meshlib.Vector3d n,
java.lang.Double w )

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.

Calls MR_MultiwayAligningTransform_add_6_MR_Vector3d().

◆ add() [3/5]

void meshlib.MultiwayAligningTransform.add ( int objA,
meshlib.Vector3f pA,
int objB,
meshlib.Vector3f pB,
java.lang.Float w )

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.

Calls MR_MultiwayAligningTransform_add_5_MR_Vector3f().

◆ add() [4/5]

void meshlib.MultiwayAligningTransform.add ( int objA,
meshlib.Vector3f pA,
int objB,
meshlib.Vector3f pB,
meshlib.Vector3f n,
java.lang.Float w )

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.

Calls MR_MultiwayAligningTransform_add_6_MR_Vector3f().

◆ add() [5/5]

void meshlib.MultiwayAligningTransform.add ( meshlib.MultiwayAligningTransform r)

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

Calls MR_MultiwayAligningTransform_add_1().

◆ assignFromAnother()

meshlib.MultiwayAligningTransform meshlib.MultiwayAligningTransform.assignFromAnother ( meshlib.MultiwayAligningTransform _other)

Generated from method MR::MultiwayAligningTransform::operator=. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The reference to this object might be preserved in the return value.

Calls MR_MultiwayAligningTransform_AssignFromAnother().

◆ reset()

void meshlib.MultiwayAligningTransform.reset ( int numObjs)

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

Calls MR_MultiwayAligningTransform_reset().

◆ solve() [1/2]

meshlib.std_vector_MR_RigidXf3d meshlib.MultiwayAligningTransform.solve ( )

Generated from method MR::MultiwayAligningTransform::solve.

Calls MR_MultiwayAligningTransform_solve_0().

◆ solve() [2/2]

meshlib.std_vector_MR_RigidXf3d meshlib.MultiwayAligningTransform.solve ( meshlib.MultiwayAligningTransform_Stabilizer stab)

finds the solution consisting of all objects transformations (numObj), that minimizes the summed weighted squared distance among accumulated links; the transform of the last object is always identity (it is fixed) Generated from method MR::MultiwayAligningTransform::solve.

Calls MR_MultiwayAligningTransform_solve_1().


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