Class EuclideanVectorSum<V extends EuclideanVector<V>>

  • Type Parameters:
    V - Vector implementation type
    All Implemented Interfaces:
    java.util.function.Consumer<V>, java.util.function.Supplier<V>
    Direct Known Subclasses:
    Vector1D.Sum, Vector2D.Sum, Vector3D.Sum

    public abstract class EuclideanVectorSum<V extends EuclideanVector<V>>
    extends java.lang.Object
    implements java.util.function.Supplier<V>, java.util.function.Consumer<V>
    Class representing a sum of Euclidean vectors.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void accept​(V vec)
      Add a vector to this instance.
      abstract EuclideanVectorSum<V> add​(V vec)
      Add a vector to this instance.
      abstract EuclideanVectorSum<V> addScaled​(double scale, V vec)
      Add a scaled vector to this instance.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.function.Consumer

        andThen
      • Methods inherited from interface java.util.function.Supplier

        get
    • Constructor Detail

      • EuclideanVectorSum

        public EuclideanVectorSum()
    • Method Detail

      • accept

        public void accept​(V vec)
        Add a vector to this instance. This method is an alias for add(EuclideanVector).
        Specified by:
        accept in interface java.util.function.Consumer<V extends EuclideanVector<V>>
        Parameters:
        vec - vector to add
      • add

        public abstract EuclideanVectorSum<V> add​(V vec)
        Add a vector to this instance.
        Parameters:
        vec - vector to add
        Returns:
        this instance
      • addScaled

        public abstract EuclideanVectorSum<V> addScaled​(double scale,
                                                        V vec)
        Add a scaled vector to this instance. In general, the result produced by this method will be more accurate than if the vector was scaled first and then added directly. In other words, sum.addScale(scale, vec) will generally produce a better result than sum.add(vec.multiply(scale)).
        Parameters:
        scale - scale factor
        vec - vector to scale and add
        Returns:
        this instance