Class Decimal2

java.lang.Object
civitas.celestis.util.tuple.Object2<BigDecimal>
civitas.celestis.math.decimal.Decimal2
All Implemented Interfaces:
DecimalVector<Decimal2,Vector2>, BigVector<BigDecimal,BigDecimal,Decimal2,Decimal2,Vector2>, BaseTuple<BigDecimal>, Tuple<BigDecimal>, Serializable, Iterable<BigDecimal>

public class Decimal2 extends Object2<BigDecimal> implements DecimalVector<Decimal2,Vector2>
An immutable two-dimensional decimal vector.
See Also:
  • Field Details

    • ZERO

      public static final Decimal2 ZERO
      A vector of no direction or magnitude. Represents origin.
    • POSITIVE_A

      public static final Decimal2 POSITIVE_A
      The positive A unit vector.
    • POSITIVE_B

      public static final Decimal2 POSITIVE_B
      The positive B unit vector.
    • NEGATIVE_A

      public static final Decimal2 NEGATIVE_A
      The negative A unit vector.
    • NEGATIVE_B

      public static final Decimal2 NEGATIVE_B
      The negative B unit vector.
  • Constructor Details

    • Decimal2

      public Decimal2(@Nonnull BigDecimal a, @Nonnull BigDecimal b)
      Creates a new vector.
      Parameters:
      a - The A component of this vector
      b - The B component of this vector
    • Decimal2

      public Decimal2(@Nonnull BigDecimal[] components)
      Creates a new vector.
      Parameters:
      components - An array containing the components of this vector in AB order
      Throws:
      IllegalArgumentException - When the provided array's length is not 3
    • Decimal2

      public Decimal2(@Nonnull Tuple<? extends BigDecimal> t)
      Creates a new vector.
      Parameters:
      t - The tuple of which to copy component values from
      Throws:
      IllegalArgumentException - When the provided tuple t's size is not 3
    • Decimal2

      public Decimal2(@Nonnull Vector2 v)
      Creates a new vector.
      Parameters:
      v - The vector of which to copy component values from
  • Method Details