Package sim.util

Class MutableDouble3D

All Implemented Interfaces:
Serializable, Cloneable

public final class MutableDouble3D extends MutableNumberND
MutableDouble3D is more or less the same class as javax.vecmath.Point3d, except that it is hash-equivalent to Double3D.

Just as with MutableInt3D: you use MutableDouble3D as a STORED hash key at your peril: it has the same misfeature as javax.vecmath.Point3d, and you should read the warning in Double3D. However, you can look up Double3D-keyed objects in a hash table by passing in a MutableDouble3D instead.

See Also:
  • Field Details

    • x

      public double x
    • y

      public double y
    • z

      public double z
  • Constructor Details

    • MutableDouble3D

      public MutableDouble3D()
    • MutableDouble3D

      public MutableDouble3D(Int2D p)
      Explicitly assumes the z value is set to 0
    • MutableDouble3D

      public MutableDouble3D(Int2D p, double z)
    • MutableDouble3D

      public MutableDouble3D(Int3D p)
    • MutableDouble3D

      public MutableDouble3D(MutableInt2D p)
      Explicitly assumes the z value is set to 0
    • MutableDouble3D

      public MutableDouble3D(MutableInt2D p, double z)
    • MutableDouble3D

      public MutableDouble3D(MutableInt3D p)
    • MutableDouble3D

      public MutableDouble3D(Double2D p)
      Explicitly assumes the z value is set to 0
    • MutableDouble3D

      public MutableDouble3D(Double2D p, double z)
    • MutableDouble3D

      public MutableDouble3D(Double3D p)
    • MutableDouble3D

      public MutableDouble3D(MutableDouble2D p)
      Explicitly assumes the z value is set to 0
    • MutableDouble3D

      public MutableDouble3D(MutableDouble2D p, double z)
    • MutableDouble3D

      public MutableDouble3D(MutableDouble3D p)
    • MutableDouble3D

      public MutableDouble3D(double x, double y, double z)
  • Method Details

    • mutable

      public boolean mutable()
      Description copied from class: NumberND
      Returns whether this NumberND is mutable. This is equivalent to asking (instanceof val MutableNumberND)
      Overrides:
      mutable in class NumberND
    • numDimensions

      public int numDimensions()
      Description copied from class: NumberND
      Returns the number of dimensions of this NumberND (normally 2 or 3)
      Specified by:
      numDimensions in class NumberND
    • getVal

      public double getVal(int val)
      Description copied from class: NumberND
      Returns the value at position VAL in this NumberND (val should 0, 1, or sometimes 2)
      Specified by:
      getVal in class NumberND
    • setVal

      public void setVal(int val, double to)
      Specified by:
      setVal in class MutableNumberND
    • toBytes

      public byte[] toBytes()
      Description copied from class: NumberND
      Flattens out the NumberND to an array of bytes, including the NumberND subtype.
      Specified by:
      toBytes in class NumberND
    • getX

      public final double getX()
    • getY

      public final double getY()
    • getZ

      public final double getZ()
    • setX

      public final void setX(double val)
    • setY

      public final void setY(double val)
    • setZ

      public final void setZ(double val)
    • setTo

      public void setTo(double x, double y, double z)
    • setTo

      public void setTo(Int3D p)
    • setTo

      public void setTo(MutableInt3D p)
    • setTo

      public void setTo(Double3D p)
    • setTo

      public void setTo(MutableDouble3D p)
    • toString

      public String toString()
      Description copied from class: NumberND
      Returns this NumberND as a nicely formatted String.
      Specified by:
      toString in class NumberND
    • toCoordinates

      public String toCoordinates()
      Description copied from class: NumberND
      Returns this NumberND in mathematical coordinates as a formatted String.
      Specified by:
      toCoordinates in class NumberND
    • toArrayAsDouble

      public double[] toArrayAsDouble()
      Specified by:
      toArrayAsDouble in class NumberND
    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • hashCode

      public int hashCode()
      Description copied from class: NumberND
      Provides a hashcode for this NumberND.
      Specified by:
      hashCode in class NumberND
    • equals

      public boolean equals(Object obj)
      Description copied from class: NumberND
      Returns whether this NumberND is equivalent to some other NumberND.
      Specified by:
      equals in class NumberND
    • distance

      public double distance(double x, double y, double z)
      Returns the distance FROM this MutableDouble3D TO the specified point
    • distance

      public double distance(Double3D p)
      Returns the distance FROM this MutableDouble3D TO the specified point.
    • distance

      public double distance(Int3D p)
      Returns the distance FROM this MutableDouble3D TO the specified point.
    • distance

      public double distance(MutableInt3D p)
      Returns the distance FROM this MutableDouble3D TO the specified point.
    • distance

      public double distance(MutableDouble3D p)
      Returns the distance FROM this MutableDouble3D TO the specified point.
    • distanceSq

      public double distanceSq(double x, double y, double z)
      Returns the squared distance FROM this MutableDouble3D TO the specified point
    • distanceSq

      public double distanceSq(Double3D p)
      Returns the squared distance FROM this MutableDouble3D TO the specified point.
    • distanceSq

      public double distanceSq(Int3D p)
      Returns the squared distance FROM this MutableDouble3D TO the specified point.
    • distanceSq

      public double distanceSq(MutableInt3D p)
      Returns the squared distance FROM this MutableDouble3D TO the specified point.
    • distanceSq

      public double distanceSq(MutableDouble3D p)
      Returns the squared distance FROM this MutableDouble3D TO the specified point.
    • manhattanDistance

      public double manhattanDistance(double x, double y, double z)
      Returns the manhtattan distance FROM this MutableDouble3D TO the specified point
    • manhattanDistance

      public double manhattanDistance(Double3D p)
      Returns the manhtattan distance FROM this MutableDouble3D TO the specified point
    • manhattanDistance

      public double manhattanDistance(Int3D p)
      Returns the manhtattan distance FROM this MutableDouble3D TO the specified point
    • manhattanDistance

      public double manhattanDistance(MutableDouble3D p)
      Returns the manhtattan distance FROM this MutableDouble3D TO the specified point
    • manhattanDistance

      public double manhattanDistance(MutableInt3D p)
      Returns the manhtattan distance FROM this MutableDouble3D TO the specified point
    • addIn

      public final MutableDouble3D addIn(Double3D other)
      Adds other into me, returning me.
    • addIn

      public final MutableDouble3D addIn(MutableDouble3D other)
      Adds other into me, returning me.
    • add

      public final MutableDouble3D add(MutableDouble3D other1, MutableDouble3D other2)
      Sets me to the sum of other1 and other2, returning me.
    • addIn

      public final MutableDouble3D addIn(double x, double y, double z)
      Adds the x, y, and z values into my x, y, and z values, returning me.
    • dup

      public final MutableDouble3D dup()
      Equivalent to (new MutableDouble3D(d)), but (d.dup()) shorter of course, but perhaps not quite as fast.
    • subtractIn

      public final MutableDouble3D subtractIn(Double3D other)
      Sets me to me minus other, returning me.
    • subtractIn

      public final MutableDouble3D subtractIn(MutableDouble3D other)
      Sets me to me minus other, returning me.
    • subtract

      public final MutableDouble3D subtract(MutableDouble3D other1, MutableDouble3D other2)
      Subtracts other2 from other1, setting me to the result and returning me.
    • length

      public final double length()
      Returns the length of the vector.
    • multiplyIn

      public final MutableDouble3D multiplyIn(double val)
      Extends my length so that it is multiplied by val, and returns me.
    • multiply

      public final MutableDouble3D multiply(MutableDouble3D other, double val)
      Multiplies other by val, setting me to the result and returning me.
    • normalize

      public final MutableDouble3D normalize()
      Normalizes me (sets my length to 1.0), returning me. Throws an error if my previous length was of length 0.
    • setLength

      public final MutableDouble3D setLength(double val)
      Deprecated.
      use resize instead [renaming]
      Sets my length, which should be >= 0.
    • resize

      public final MutableDouble3D resize(double val)
      Sets my length, which should be >= 0.
    • dot

      public final double dot(MutableDouble3D other)
      Returns the dot product of myself against other, that is me DOT other.
    • zero

      public final MutableDouble3D zero()
      Sets the values to 0.
    • setToMinus

      public final MutableDouble3D setToMinus(MutableDouble3D b)
      Sets the values to the negation of the values in the provided MutableDouble3D
    • negate

      public final MutableDouble3D negate()
      Negates the MutableDouble3D's values
    • lengthSq

      public final double lengthSq()
      Returns the square of the length of the MutableDouble3D.