Class Vector2D.Sum

java.lang.Object
org.apache.commons.geometry.euclidean.EuclideanVectorSum<Vector2D>
org.apache.commons.geometry.euclidean.twod.Vector2D.Sum
All Implemented Interfaces:
Consumer<Vector2D>, Supplier<Vector2D>
Enclosing class:
Vector2D

public static final class Vector2D.Sum extends EuclideanVectorSum<Vector2D>
Class used to create high-accuracy sums of vectors. Each vector component is summed using an instance of Sum.

This class is mutable and not thread-safe.

See Also:
  • Sum
  • Field Details

    • xsum

      private final org.apache.commons.numbers.core.Sum xsum
      X component sum.
    • ysum

      private final org.apache.commons.numbers.core.Sum ysum
      Y component sum.
  • Constructor Details

    • Sum

      Sum(Vector2D initial)
      Construct a new instance with the given initial value.
      Parameters:
      initial - initial value
  • Method Details

    • add

      public Vector2D.Sum add(Vector2D vec)
      Add a vector to this instance.
      Specified by:
      add in class EuclideanVectorSum<Vector2D>
      Parameters:
      vec - vector to add
      Returns:
      this instance
    • addScaled

      public Vector2D.Sum addScaled(double scale, Vector2D 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)).
      Specified by:
      addScaled in class EuclideanVectorSum<Vector2D>
      Parameters:
      scale - scale factor
      vec - vector to scale and add
      Returns:
      this instance
    • get

      public Vector2D get()
    • create

      public static Vector2D.Sum create()
      Create a new instance with an initial value set to the zero vector.
      Returns:
      new instance set to zero
    • of

      public static Vector2D.Sum of(Vector2D initial)
      Construct a new instance with an initial value set to the argument.
      Parameters:
      initial - initial sum value
      Returns:
      new instance
    • of

      public static Vector2D.Sum of(Vector2D first, Vector2D... more)
      Construct a new instance from multiple values.
      Parameters:
      first - first vector
      more - additional vectors
      Returns:
      new instance