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

Public Member Functions

 ICPProperties (java.lang.foreign.MemorySegment ptr, boolean owned, java.lang.Object owner)
 ICPProperties ()
 ICPProperties (meshlib.ICPMethod method, float p2plAngleLimit, float p2plScaleLimit, float p2plStabilizer, float cosThreshold, float distThresholdSq, float farDistFactor, meshlib.ICPMode icpMode, meshlib.Vector3f fixedRotationAxis, int iterLimit, int badIterStopCount, float exitVal, boolean mutualClosest, boolean ignoreBdTgts)
 ICPProperties (meshlib.ICPProperties _other)
meshlib.ICPProperties assignFromAnother (meshlib.ICPProperties _other)
meshlib.ICPMethod method ()
void setMethod (meshlib.ICPMethod value)
float p2plAngleLimit ()
void setP2plAngleLimit (float value)
float p2plScaleLimit ()
void setP2plScaleLimit (float value)
float p2plStabilizer ()
void setP2plStabilizer (float value)
float cosThreshold ()
void setCosThreshold (float value)
float distThresholdSq ()
void setDistThresholdSq (float value)
float farDistFactor ()
void setFarDistFactor (float value)
meshlib.ICPMode icpMode ()
void setIcpMode (meshlib.ICPMode value)
meshlib.Vector3f fixedRotationAxis ()
void setFixedRotationAxis (meshlib.Vector3f value)
int iterLimit ()
void setIterLimit (int value)
int badIterStopCount ()
void setBadIterStopCount (int value)
float exitVal ()
void setExitVal (float value)
boolean mutualClosest ()
void setMutualClosest (boolean value)
boolean ignoreBdTgts ()
void setIgnoreBdTgts (boolean value)
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

parameters of ICP algorithm Generated from class MR::ICPProperties.

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

Constructor & Destructor Documentation

◆ ICPProperties() [1/4]

meshlib.ICPProperties.ICPProperties ( 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.

◆ ICPProperties() [2/4]

meshlib.ICPProperties.ICPProperties ( )

Constructs an empty (default-constructed) instance.

Calls MR_ICPProperties_DefaultConstruct().

◆ ICPProperties() [3/4]

meshlib.ICPProperties.ICPProperties ( meshlib.ICPMethod method,
float p2plAngleLimit,
float p2plScaleLimit,
float p2plStabilizer,
float cosThreshold,
float distThresholdSq,
float farDistFactor,
meshlib.ICPMode icpMode,
meshlib.Vector3f fixedRotationAxis,
int iterLimit,
int badIterStopCount,
float exitVal,
boolean mutualClosest,
boolean ignoreBdTgts )

Constructs MR::ICPProperties elementwise. The reference to the parameter method might be preserved in the constructed object. The reference to the parameter icpMode might be preserved in the constructed object. The reference to the parameter fixedRotationAxis might be preserved in the constructed object.

Calls MR_ICPProperties_ConstructFrom().

◆ ICPProperties() [4/4]

meshlib.ICPProperties.ICPProperties ( meshlib.ICPProperties _other)

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

Calls MR_ICPProperties_ConstructFromAnother().

Member Function Documentation

◆ assignFromAnother()

meshlib.ICPProperties meshlib.ICPProperties.assignFromAnother ( meshlib.ICPProperties _other)

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

Calls MR_ICPProperties_AssignFromAnother().

◆ badIterStopCount()

int meshlib.ICPProperties.badIterStopCount ( )

The algorithm will stop before making all (iterLimit) iterations, if there were consecutive (badIterStopCount) iterations, during which the average distance between points in active pairs did not diminish. Returns a pointer to a member variable of class MR::ICPProperties named badIterStopCount. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_badIterStopCount().

◆ cosThreshold()

float meshlib.ICPProperties.cosThreshold ( )

in [-1,1] Returns a pointer to a member variable of class MR::ICPProperties named cosThreshold. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_cosThreshold().

◆ distThresholdSq()

float meshlib.ICPProperties.distThresholdSq ( )

[distance^2] Returns a pointer to a member variable of class MR::ICPProperties named distThresholdSq. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_distThresholdSq().

◆ exitVal()

float meshlib.ICPProperties.exitVal ( )

[distance] Returns a pointer to a member variable of class MR::ICPProperties named exitVal. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_exitVal().

◆ farDistFactor()

float meshlib.ICPProperties.farDistFactor ( )

dimensionless Returns a pointer to a member variable of class MR::ICPProperties named farDistFactor. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_farDistFactor().

◆ fixedRotationAxis()

meshlib.Vector3f meshlib.ICPProperties.fixedRotationAxis ( )

Additional parameter for ICPMode.OrthogonalAxis and ICPMode.FixedAxis transformation groups. Returns a pointer to a member variable of class MR::ICPProperties named fixedRotationAxis. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_fixedRotationAxis().

◆ icpMode()

meshlib.ICPMode meshlib.ICPProperties.icpMode ( )

Selects the group of transformations, where to find a solution (e.g. with scaling or without, with rotation or without, ...). See the description of each option in ICPMode. Returns a pointer to a member variable of class MR::ICPProperties named icpMode. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_icpMode().

◆ ignoreBdTgts()

boolean meshlib.ICPProperties.ignoreBdTgts ( )

if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair Returns a pointer to a member variable of class MR::ICPProperties named ignoreBdTgts. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_ignoreBdTgts().

◆ iterLimit()

int meshlib.ICPProperties.iterLimit ( )

The maximum number of iterations that the algorithm can perform. Increase this parameter if you need a higher precision or if initial approximation is not very precise. Returns a pointer to a member variable of class MR::ICPProperties named iterLimit. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_iterLimit().

◆ method()

meshlib.ICPMethod meshlib.ICPProperties.method ( )

The method how to update transformation from point pairs, see description of each option in ICPMethod Returns a pointer to a member variable of class MR::ICPProperties named method. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_method().

◆ mutualClosest()

boolean meshlib.ICPProperties.mutualClosest ( )

A pair of points is activated only if both points in the pair are mutually closest (reciprocity test passed), some papers recommend this mode for filtering out wrong pairs, but it can be too aggressive and deactivate (almost) all pairs. Returns a pointer to a member variable of class MR::ICPProperties named mutualClosest. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_mutualClosest().

◆ p2plAngleLimit()

float meshlib.ICPProperties.p2plAngleLimit ( )

[radians] Returns a pointer to a member variable of class MR::ICPProperties named p2plAngleLimit. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_p2plAngleLimit().

◆ p2plScaleLimit()

float meshlib.ICPProperties.p2plScaleLimit ( )

Scaling during one iteration of ICPMethod.PointToPlane will be limited by this value. This is to reduce possible instability. Returns a pointer to a member variable of class MR::ICPProperties named p2plScaleLimit. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_p2plScaleLimit().

◆ p2plStabilizer()

float meshlib.ICPProperties.p2plStabilizer ( )

Relative regularization of the linear system in ICPMethod.PointToPlane, see PointToPlaneAligningTransform.setStabilizer. This is to avoid huge motions along the directions poorly constrained by the planes, e.g. sliding along parallel faces of a CAD model. Returns a pointer to a member variable of class MR::ICPProperties named p2plStabilizer. The reference to this object might be preserved as the return value.

Calls MR_ICPProperties_Get_p2plStabilizer().

◆ setBadIterStopCount()

void meshlib.ICPProperties.setBadIterStopCount ( int value)

The algorithm will stop before making all (iterLimit) iterations, if there were consecutive (badIterStopCount) iterations, during which the average distance between points in active pairs did not diminish. Modifies a member variable of class MR::ICPProperties named badIterStopCount.

Calls MR_ICPProperties_Set_badIterStopCount().

◆ setCosThreshold()

void meshlib.ICPProperties.setCosThreshold ( float value)

in [-1,1] Modifies a member variable of class MR::ICPProperties named cosThreshold.

Calls MR_ICPProperties_Set_cosThreshold().

◆ setDistThresholdSq()

void meshlib.ICPProperties.setDistThresholdSq ( float value)

[distance^2] Modifies a member variable of class MR::ICPProperties named distThresholdSq.

Calls MR_ICPProperties_Set_distThresholdSq().

◆ setExitVal()

void meshlib.ICPProperties.setExitVal ( float value)

[distance] Modifies a member variable of class MR::ICPProperties named exitVal.

Calls MR_ICPProperties_Set_exitVal().

◆ setFarDistFactor()

void meshlib.ICPProperties.setFarDistFactor ( float value)

dimensionless Modifies a member variable of class MR::ICPProperties named farDistFactor.

Calls MR_ICPProperties_Set_farDistFactor().

◆ setFixedRotationAxis()

void meshlib.ICPProperties.setFixedRotationAxis ( meshlib.Vector3f value)

Additional parameter for ICPMode.OrthogonalAxis and ICPMode.FixedAxis transformation groups. Modifies a member variable of class MR::ICPProperties named fixedRotationAxis. The reference to the parameter value might be preserved in this object in element fixedRotationAxis.

Calls MR_ICPProperties_Set_fixedRotationAxis().

◆ setIcpMode()

void meshlib.ICPProperties.setIcpMode ( meshlib.ICPMode value)

Selects the group of transformations, where to find a solution (e.g. with scaling or without, with rotation or without, ...). See the description of each option in ICPMode. Modifies a member variable of class MR::ICPProperties named icpMode. The reference to the parameter value might be preserved in this object in element icpMode.

Calls MR_ICPProperties_Set_icpMode().

◆ setIgnoreBdTgts()

void meshlib.ICPProperties.setIgnoreBdTgts ( boolean value)

if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair Modifies a member variable of class MR::ICPProperties named ignoreBdTgts.

Calls MR_ICPProperties_Set_ignoreBdTgts().

◆ setIterLimit()

void meshlib.ICPProperties.setIterLimit ( int value)

The maximum number of iterations that the algorithm can perform. Increase this parameter if you need a higher precision or if initial approximation is not very precise. Modifies a member variable of class MR::ICPProperties named iterLimit.

Calls MR_ICPProperties_Set_iterLimit().

◆ setMethod()

void meshlib.ICPProperties.setMethod ( meshlib.ICPMethod value)

The method how to update transformation from point pairs, see description of each option in ICPMethod Modifies a member variable of class MR::ICPProperties named method. The reference to the parameter value might be preserved in this object in element method.

Calls MR_ICPProperties_Set_method().

◆ setMutualClosest()

void meshlib.ICPProperties.setMutualClosest ( boolean value)

A pair of points is activated only if both points in the pair are mutually closest (reciprocity test passed), some papers recommend this mode for filtering out wrong pairs, but it can be too aggressive and deactivate (almost) all pairs. Modifies a member variable of class MR::ICPProperties named mutualClosest.

Calls MR_ICPProperties_Set_mutualClosest().

◆ setP2plAngleLimit()

void meshlib.ICPProperties.setP2plAngleLimit ( float value)

[radians] Modifies a member variable of class MR::ICPProperties named p2plAngleLimit.

Calls MR_ICPProperties_Set_p2plAngleLimit().

◆ setP2plScaleLimit()

void meshlib.ICPProperties.setP2plScaleLimit ( float value)

Scaling during one iteration of ICPMethod.PointToPlane will be limited by this value. This is to reduce possible instability. Modifies a member variable of class MR::ICPProperties named p2plScaleLimit.

Calls MR_ICPProperties_Set_p2plScaleLimit().

◆ setP2plStabilizer()

void meshlib.ICPProperties.setP2plStabilizer ( float value)

Relative regularization of the linear system in ICPMethod.PointToPlane, see PointToPlaneAligningTransform.setStabilizer. This is to avoid huge motions along the directions poorly constrained by the planes, e.g. sliding along parallel faces of a CAD model. Modifies a member variable of class MR::ICPProperties named p2plStabilizer.

Calls MR_ICPProperties_Set_p2plStabilizer().


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