Package javax.vecmath

Class Tuple4d

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    Point4d, Quat4d, Vector4d

    public abstract class Tuple4d
    extends java.lang.Object
    implements java.io.Serializable
    A generic 4 element tuple that is represented by double precision floating point x,y,z and w coordinates.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      double w
      The w coordinate.
      double x
      The x coordinate.
      double y
      The y coordinate.
      double z
      The z coordinate.
    • Constructor Summary

      Constructors 
      Constructor Description
      Tuple4d()
      Constructs and initializes a Tuple4d to (0,0,0,0).
      Tuple4d​(double[] t)
      Constructs and initializes a Tuple4d from the specified array.
      Tuple4d​(double x, double y, double z, double w)
      Constructs and initializes a Tuple4d from the specified xyzw coordinates.
      Tuple4d​(Tuple4d t1)
      Constructs and initializes a Tuple4d from the specified Tuple4d.
      Tuple4d​(Tuple4f t1)
      Constructs and initializes a Tuple4d from the specified Tuple4f.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void absolute()
      Sets each component of this tuple to its absolute value.
      void absolute​(Tuple4d t)
      Sets each component of the tuple parameter to its absolute value and places the modified values into this tuple.
      void add​(Tuple4d t1)
      Sets the value of this tuple to the vector sum of itself and tuple t1.
      void add​(Tuple4d t1, Tuple4d t2)
      Sets the value of this tuple to the vector sum of tuples t1 and t2.
      void clamp​(double min, double max)
      Clamps this tuple to the range [low, high].
      void clamp​(double min, double max, Tuple4d t)
      Clamps the tuple parameter to the range [low, high] and places the values into this tuple.
      void clampMax​(double max)
      Clamps the maximum value of this tuple to the max parameter.
      void clampMax​(double max, Tuple4d t)
      Clamps the maximum value of the tuple parameter to the max parameter and places the values into this tuple.
      void clampMin​(double min)
      Clamps the minimum value of this tuple to the min parameter.
      void clampMin​(double min, Tuple4d t)
      Clamps the minimum value of the tuple parameter to the min parameter and places the values into this tuple.
      boolean epsilonEquals​(Tuple4d t1, double epsilon)
      Returns true if the L-infinite distance between this tuple and tuple t1 is less than or equal to the epsilon parameter, otherwise returns false.
      boolean equals​(Tuple4d t1)
      Returns true if all of the data members of Tuple4d t1 are equal to the corresponding data members in this
      void get​(double[] t)
      Copies the value of the elements of this tuple into the array t[].
      void get​(Tuple4d t)
      Gets the value of this tuple and copies the values into the Tuple4d.
      int hashCode()
      Returns a hash number based on the data values in this object.
      void interpolate​(Tuple4d t1, double alpha)
      Linearly interpolates between this tuple and tuple t1 and places the result into this tuple: this = (1-alpha)*this + alpha*t1.
      void interpolate​(Tuple4d t1, Tuple4d t2, double alpha)
      Linearly interpolates between tuples t1 and t2 and places the result into this tuple: this = (1-alpha)*t1 + alpha*t2.
      void negate()
      Negates the value of this vector in place.
      void negate​(Tuple4d t1)
      Sets the value of this tuple to the negation of tuple t1.
      void scale​(double s)
      Sets the value of this tuple to the scalar multiplication of itself.
      void scale​(double s, Tuple4d t1)
      Sets the value of this tuple to the scalar multiplication of tuple t1.
      void scaleAdd​(double s, Tuple4d t1)
      Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).
      void scaleAdd​(double s, Tuple4d t1, Tuple4d t2)
      Sets the value of this tuple to the scalar multiplication of tuple t1 and then adds tuple t2 (this = s*t1 + t2).
      void set​(double[] t)
      Sets the value of this tuple from the 4 values specified in the array.
      void set​(double x, double y, double z, double w)
      Sets the value of this tuple to the specified xyzw coordinates.
      void set​(Tuple4d t1)
      Sets the value of this tuple to the value of tuple t1.
      void set​(Tuple4f t1)
      Sets the value of this tuple to the value of tuple t1.
      void sub​(Tuple4d t1)
      Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).
      void sub​(Tuple4d t1, Tuple4d t2)
      Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).
      java.lang.String toString()
      Returns a string that contains the values of this Tuple4d.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • x

        public double x
        The x coordinate.
      • y

        public double y
        The y coordinate.
      • z

        public double z
        The z coordinate.
      • w

        public double w
        The w coordinate.
    • Constructor Detail

      • Tuple4d

        public Tuple4d​(double x,
                       double y,
                       double z,
                       double w)
        Constructs and initializes a Tuple4d from the specified xyzw coordinates.
        Parameters:
        x - the x coordinate
        y - the y coordinate
        z - the z coordinate
        w - the w coordinate
      • Tuple4d

        public Tuple4d​(double[] t)
        Constructs and initializes a Tuple4d from the specified array.
        Parameters:
        t - the array of length 4 containing xyzw in order
      • Tuple4d

        public Tuple4d​(Tuple4d t1)
        Constructs and initializes a Tuple4d from the specified Tuple4d.
        Parameters:
        t1 - the Tuple4d containing the initialization x y z w data
      • Tuple4d

        public Tuple4d​(Tuple4f t1)
        Constructs and initializes a Tuple4d from the specified Tuple4f.
        Parameters:
        t1 - the Tuple4f containing the initialization x y z w data
      • Tuple4d

        public Tuple4d()
        Constructs and initializes a Tuple4d to (0,0,0,0).
    • Method Detail

      • set

        public final void set​(double x,
                              double y,
                              double z,
                              double w)
        Sets the value of this tuple to the specified xyzw coordinates.
        Parameters:
        x - the x coordinate
        y - the y coordinate
        z - the z coordinate
        w - the w coordinate
      • set

        public final void set​(double[] t)
        Sets the value of this tuple from the 4 values specified in the array.
        Parameters:
        t - the array of length 4 containing xyzw in order
      • set

        public final void set​(Tuple4d t1)
        Sets the value of this tuple to the value of tuple t1.
        Parameters:
        t1 - the tuple to be copied
      • set

        public final void set​(Tuple4f t1)
        Sets the value of this tuple to the value of tuple t1.
        Parameters:
        t1 - the tuple to be copied
      • get

        public final void get​(double[] t)
        Copies the value of the elements of this tuple into the array t[].
        Parameters:
        t - the array that will contain the values of the vector
      • get

        public final void get​(Tuple4d t)
        Gets the value of this tuple and copies the values into the Tuple4d.
        Parameters:
        t - Tuple4d object into which that values of this object are copied
      • add

        public final void add​(Tuple4d t1,
                              Tuple4d t2)
        Sets the value of this tuple to the vector sum of tuples t1 and t2.
        Parameters:
        t1 - the first tuple
        t2 - the second tuple
      • add

        public final void add​(Tuple4d t1)
        Sets the value of this tuple to the vector sum of itself and tuple t1.
        Parameters:
        t1 - the other tuple
      • sub

        public final void sub​(Tuple4d t1,
                              Tuple4d t2)
        Sets the value of this tuple to the vector difference of tuple t1 and t2 (this = t1 - t2).
        Parameters:
        t1 - the first tuple
        t2 - the second tuple
      • sub

        public final void sub​(Tuple4d t1)
        Sets the value of this tuple to the vector difference of itself and tuple t1 (this = this - t1).
        Parameters:
        t1 - the other tuple
      • negate

        public final void negate​(Tuple4d t1)
        Sets the value of this tuple to the negation of tuple t1.
        Parameters:
        t1 - the source vector
      • negate

        public final void negate()
        Negates the value of this vector in place.
      • scale

        public final void scale​(double s,
                                Tuple4d t1)
        Sets the value of this tuple to the scalar multiplication of tuple t1.
        Parameters:
        s - the scalar value
        t1 - the source tuple
      • scale

        public final void scale​(double s)
        Sets the value of this tuple to the scalar multiplication of itself.
        Parameters:
        s - the scalar value
      • scaleAdd

        public final void scaleAdd​(double s,
                                   Tuple4d t1,
                                   Tuple4d t2)
        Sets the value of this tuple to the scalar multiplication of tuple t1 and then adds tuple t2 (this = s*t1 + t2).
        Parameters:
        s - the scalar value
        t1 - the tuple to be multipled
        t2 - the tuple to be added
      • scaleAdd

        public final void scaleAdd​(double s,
                                   Tuple4d t1)
        Sets the value of this tuple to the scalar multiplication of itself and then adds tuple t1 (this = s*this + t1).
        Parameters:
        s - the scalar value
        t1 - the tuple to be added
      • hashCode

        public int hashCode()
        Returns a hash number based on the data values in this object. Two different Tuple4d objects with identical data values (ie, returns true for equals(Tuple4d) ) will return the same hash number. Two vectors with different data members may return the same hash value, although this is not likely.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(Tuple4d t1)
        Returns true if all of the data members of Tuple4d t1 are equal to the corresponding data members in this
        Parameters:
        t1 - the vector with which the comparison is made.
      • epsilonEquals

        public boolean epsilonEquals​(Tuple4d t1,
                                     double epsilon)
        Returns true if the L-infinite distance between this tuple and tuple t1 is less than or equal to the epsilon parameter, otherwise returns false. The L-infinite distance is equal to MAX[abs(x1-x2), abs(y1-y2), abs(z1-z2), abs(w1-w2)].
        Parameters:
        t1 - the tuple to be compared to this tuple
        epsilon - the threshold value
      • toString

        public java.lang.String toString()
        Returns a string that contains the values of this Tuple4d. The form is (x,y,z,w).
        Overrides:
        toString in class java.lang.Object
        Returns:
        the String representation
      • clamp

        public final void clamp​(double min,
                                double max,
                                Tuple4d t)
        Clamps the tuple parameter to the range [low, high] and places the values into this tuple.
        Parameters:
        min - the lowest value in the tuple after clamping
        max - the highest value in the tuple after clamping
        t - the source tuple, which will not be modified
      • clampMin

        public final void clampMin​(double min,
                                   Tuple4d t)
        Clamps the minimum value of the tuple parameter to the min parameter and places the values into this tuple.
        Parameters:
        min - the lowest value in the tuple after clamping
        t - the source tuple, which will not be modified
      • clampMax

        public final void clampMax​(double max,
                                   Tuple4d t)
        Clamps the maximum value of the tuple parameter to the max parameter and places the values into this tuple.
        Parameters:
        max - the highest value in the tuple after clamping
        t - the source tuple, which will not be modified
      • absolute

        public final void absolute​(Tuple4d t)
        Sets each component of the tuple parameter to its absolute value and places the modified values into this tuple.
        Parameters:
        t - the source tuple, which will not be modified
      • clamp

        public final void clamp​(double min,
                                double max)
        Clamps this tuple to the range [low, high].
        Parameters:
        min - the lowest value in this tuple after clamping
        max - the highest value in this tuple after clamping
      • clampMin

        public final void clampMin​(double min)
        Clamps the minimum value of this tuple to the min parameter.
        Parameters:
        min - the lowest value in this tuple after clamping
      • clampMax

        public final void clampMax​(double max)
        Clamps the maximum value of this tuple to the max parameter.
        Parameters:
        max - the highest value in the tuple after clamping
      • absolute

        public final void absolute()
        Sets each component of this tuple to its absolute value.
      • interpolate

        public final void interpolate​(Tuple4d t1,
                                      Tuple4d t2,
                                      double alpha)
        Linearly interpolates between tuples t1 and t2 and places the result into this tuple: this = (1-alpha)*t1 + alpha*t2.
        Parameters:
        t1 - the first tuple
        t2 - the second tuple
        alpha - the alpha interpolation parameter
      • interpolate

        public final void interpolate​(Tuple4d t1,
                                      double alpha)
        Linearly interpolates between this tuple and tuple t1 and places the result into this tuple: this = (1-alpha)*this + alpha*t1.
        Parameters:
        t1 - the first tuple
        alpha - the alpha interpolation parameter