Record Class IcpConfig

java.lang.Object
java.lang.Record
cz.fidentis.analyst.engines.icp.IcpConfig
Record Components:
kdTree - The k-d tree of the primary mesh. Must not be null. Inspected facets are transformed toward this primary mesh.
maxIteration - Maximal number of ICP iterations (it includes computing new transformation and applying it). A number bigger than zero. Reasonable number seems to be 10.
scale - If true, then the scale factor is also computed.
error - Acceptable error - a number bigger than or equal to zero. Mean distance of vertices is computed for each ICP iteration. If the difference between the previous and current mean distances is less than the error, then the ICP computation stops. Reasonable number seems to be 0.05.
strategy - One of the reduction strategies. If null, then no sub-sampling is used.
crop - The iteration number from which partially overlapped parts of surfaces are omitted from distance minimization (i.e. the faces are auto-cropped for the ICP step). Set the parameter to zero to turn the auto-cropping feature on for all ICP iterations. Set the parameter to any negative number to disable the auto-cropping feature. In general, use auto-cropping if the faces are pre-aligned. If unsure, use value 1.

public record IcpConfig(KdTree kdTree, int maxIteration, boolean scale, double error, PointSamplingConfig strategy, int crop) extends Record
ICP strategies and their configuration.
  • Constructor Details

    • IcpConfig

      public IcpConfig(MeshModel meshModel, int maxIteration, boolean scale, double error, PointSamplingConfig strategy, int crop)
      Constructor that constructs k-D tree of th mesh model automatically.
      Parameters:
      meshModel - Mesh model towards which other meshes will be registered
      maxIteration - Max iterations
      scale - Whether to scale
      error - Error factor
      strategy - ICP strategy
      crop - Whether to crop
    • IcpConfig

      public IcpConfig(Collection<MeshFacet> meshFacets, int maxIteration, boolean scale, double error, PointSamplingConfig strategy, int crop)
      Constructor that constructs k-D tree of th mesh model automatically.
      Parameters:
      meshFacets - Mesh facets towards which other meshes will be registered
      maxIteration - Max iterations
      scale - Whether to scale
      error - Error factor
      strategy - ICP strategy
      crop - Whether to crop
    • IcpConfig

      public IcpConfig(KdTree kdTree, int maxIteration, boolean scale, double error, PointSamplingConfig strategy, int crop)
      Creates an instance of a IcpConfig record class.
      Parameters:
      kdTree - the value for the kdTree record component
      maxIteration - the value for the maxIteration record component
      scale - the value for the scale record component
      error - the value for the error record component
      strategy - the value for the strategy record component
      crop - the value for the crop record component
  • Method Details

    • getVisitor

      public IcpVisitor getVisitor()
      Instantiates and returns a point sampling visitor.
      Returns:
      a point sampling visitor
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • kdTree

      public KdTree kdTree()
      Returns the value of the kdTree record component.
      Returns:
      the value of the kdTree record component
    • maxIteration

      public int maxIteration()
      Returns the value of the maxIteration record component.
      Returns:
      the value of the maxIteration record component
    • scale

      public boolean scale()
      Returns the value of the scale record component.
      Returns:
      the value of the scale record component
    • error

      public double error()
      Returns the value of the error record component.
      Returns:
      the value of the error record component
    • strategy

      public PointSamplingConfig strategy()
      Returns the value of the strategy record component.
      Returns:
      the value of the strategy record component
    • crop

      public int crop()
      Returns the value of the crop record component.
      Returns:
      the value of the crop record component