Class RobustRangingAndRssiPositionEstimator3D

java.lang.Object
com.irurueta.navigation.indoor.position.RobustPositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>,RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>>
com.irurueta.navigation.indoor.position.RobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.RobustRangingAndRssiPositionEstimator3D
Direct Known Subclasses:
LMedSRobustRangingAndRssiPositionEstimator3D, MSACRobustRangingAndRssiPositionEstimator3D, PROMedSRobustRangingAndRssiPositionEstimator3D, PROSACRobustRangingAndRssiPositionEstimator3D, RANSACRobustRangingAndRssiPositionEstimator3D

public abstract class RobustRangingAndRssiPositionEstimator3D extends RobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
Base class for robust ranging+RSSI 3D position estimators using located radio sources and their ranging+RSSI readings at unknown locations. These kind of estimators can be used to robustly determine the 3D position of a given device by getting ranging+RSSI readings at an unknown location of different radio sources whose locations are known. Implementations of this class should be able to detect and discard outliers in order to find the best solution.
  • Constructor Details

    • RobustRangingAndRssiPositionEstimator3D

      protected RobustRangingAndRssiPositionEstimator3D()
      Constructor.
    • RobustRangingAndRssiPositionEstimator3D

      protected RobustRangingAndRssiPositionEstimator3D(RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Constructor.
      Parameters:
      listener - listener in charge of handling events.
  • Method Details

    • getMinRequiredSources

      public int getMinRequiredSources()
      Gets minimum required number of located radio sources to perform lateration.
      Specified by:
      getMinRequiredSources in class RobustPositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>,RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>>
      Returns:
      minimum required number of located radio sources to perform lateration.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      method - robust estimator method.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      Creates a robust 3D position estimator.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint)
      Creates a robust 3D position estimator.
      Parameters:
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • create

      public static RobustRangingAndRssiPositionEstimator3D create(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource,? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Creates a robust 3D position estimator.
      Parameters:
      sourceQualityScores - quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.
      fingerprintReadingQualityScores - quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing ranging+RSSI readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      Returns:
      a robust 3D position estimator.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • setPositionsDistancesDistanceStandardDeviationsAndQualityScores

      protected void setPositionsDistancesDistanceStandardDeviationsAndQualityScores(List<com.irurueta.geometry.Point3D> positions, List<Double> distances, List<Double> distanceStandardDeviations, List<Double> distanceQualityScores)
      Sets positions, distances and standard deviations of distances on internal lateration solver.
      Specified by:
      setPositionsDistancesDistanceStandardDeviationsAndQualityScores in class RobustPositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>,RobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>>
      Parameters:
      positions - positions to be set.
      distances - distances to be set.
      distanceStandardDeviations - standard deviations of distances to be set.
      distanceQualityScores - distance quality scores or null if not required.