javax.vecmath
Class AxisAngle4d

java.lang.Object
  extended by javax.vecmath.AxisAngle4d
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class AxisAngle4d
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

A four-element axis angle represented by double-precision floating point x,y,z,angle components. An axis angle is a rotation of angle (radians) about the vector (x,y,z).

See Also:
Serialized Form

Field Summary
 double angle
          The angle of rotation in radians.
 double x
          The x coordinate.
 double y
          The y coordinate.
 double z
          The z coordinate.
 
Constructor Summary
AxisAngle4d()
          Constructs and initializes an AxisAngle4d to (0,0,1,0).
AxisAngle4d(AxisAngle4d a1)
          Constructs and initializes an AxisAngle4d from the specified AxisAngle4d.
AxisAngle4d(AxisAngle4f a1)
          Constructs and initializes an AxisAngle4d from the specified AxisAngle4f.
AxisAngle4d(double[] a)
          Constructs and initializes an AxisAngle4d from the components contained in the array.
AxisAngle4d(double x, double y, double z, double angle)
          Constructs and initializes an AxisAngle4d from the specified x, y, z, and angle.
AxisAngle4d(Vector3d axis, double angle)
          Constructs and initializes an AxisAngle4d from the specified axis and angle.
 
Method Summary
 java.lang.Object clone()
          Creates a new object of the same class as this object.
 boolean epsilonEquals(AxisAngle4d a1, double epsilon)
          Returns true if the L-infinite distance between this axis-angle and axis-angle a1 is less than or equal to the epsilon parameter, otherwise returns false.
 boolean equals(AxisAngle4d a1)
          Returns true if all of the data members of AxisAngle4d a1 are equal to the corresponding data members in this AxisAngle4d.
 boolean equals(java.lang.Object o1)
          Returns true if the Object o1 is of type AxisAngle4d and all of the data members of o1 are equal to the corresponding data members in this AxisAngle4d.
 void get(double[] a)
          Gets the value of this axis angle and places it into the array a of length four in x,y,z,angle order.
 int hashCode()
          Returns a hash code value based on the data values in this object.
 void set(AxisAngle4d a1)
          Sets the value of this axis angle to the value of axis angle a1.
 void set(AxisAngle4f a1)
          Sets the value of this axis angle to the value of axis angle a1.
 void set(double[] a)
          Sets the value of this axis angle to the specified x,y,z,angle.
 void set(double x, double y, double z, double angle)
          Sets the value of this axis angle to the specified x,y,z,angle.
 void set(Matrix3d m1)
          Sets the value of this axis-angle to the rotational component of the passed matrix.
 void set(Matrix3f m1)
          Sets the value of this axis-angle to the rotational component of the passed matrix.
 void set(Matrix4d m1)
          Sets the value of this axis-angle to the rotational component of the passed matrix.
 void set(Matrix4f m1)
          Sets the value of this axis-angle to the rotational component of the passed matrix.
 void set(Quat4d q1)
          Sets the value of this axis-angle to the rotational equivalent of the passed quaternion.
 void set(Quat4f q1)
          Sets the value of this axis-angle to the rotational equivalent of the passed quaternion.
 void set(Vector3d axis, double angle)
          Sets the value of this AxisAngle4d to the specified axis and angle.
 java.lang.String toString()
          Returns a string that contains the values of this AxisAngle4d.
 
Methods inherited from class java.lang.Object
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.


angle

public double angle
The angle of rotation in radians.

Constructor Detail

AxisAngle4d

public AxisAngle4d(double x,
                   double y,
                   double z,
                   double angle)
Constructs and initializes an AxisAngle4d from the specified x, y, z, and angle.

Parameters:
x - the x coordinate
y - the y coordinate
z - the z coordinate
angle - the angle of rotation in radians

AxisAngle4d

public AxisAngle4d(double[] a)
Constructs and initializes an AxisAngle4d from the components contained in the array.

Parameters:
a - the array of length 4 containing x,y,z,angle in order

AxisAngle4d

public AxisAngle4d(AxisAngle4d a1)
Constructs and initializes an AxisAngle4d from the specified AxisAngle4d.

Parameters:
a1 - the AxisAngle4d containing the initialization x y z angle data

AxisAngle4d

public AxisAngle4d(AxisAngle4f a1)
Constructs and initializes an AxisAngle4d from the specified AxisAngle4f.

Parameters:
a1 - the AxisAngle4f containing the initialization x y z angle data

AxisAngle4d

public AxisAngle4d(Vector3d axis,
                   double angle)
Constructs and initializes an AxisAngle4d from the specified axis and angle.

Parameters:
axis - the axis
angle - the angle of rotation in radian
Since:
Java 3D 1.2

AxisAngle4d

public AxisAngle4d()
Constructs and initializes an AxisAngle4d to (0,0,1,0).

Method Detail

set

public final void set(double x,
                      double y,
                      double z,
                      double angle)
Sets the value of this axis angle to the specified x,y,z,angle.

Parameters:
x - the x coordinate
y - the y coordinate
z - the z coordinate
angle - the angle of rotation in radians

set

public final void set(double[] a)
Sets the value of this axis angle to the specified x,y,z,angle.

Parameters:
a - the array of length 4 containing x,y,z,angle in order

set

public final void set(AxisAngle4d a1)
Sets the value of this axis angle to the value of axis angle a1.

Parameters:
a1 - the axis angle to be copied

set

public final void set(AxisAngle4f a1)
Sets the value of this axis angle to the value of axis angle a1.

Parameters:
a1 - the axis angle to be copied

set

public final void set(Vector3d axis,
                      double angle)
Sets the value of this AxisAngle4d to the specified axis and angle.

Parameters:
axis - the axis
angle - the angle of rotation in radians
Since:
Java 3D 1.2

get

public final void get(double[] a)
Gets the value of this axis angle and places it into the array a of length four in x,y,z,angle order.

Parameters:
a - the array of length four

set

public final void set(Matrix4f m1)
Sets the value of this axis-angle to the rotational component of the passed matrix. If the specified matrix has no rotational component, the value of this AxisAngle4d is set to an angle of 0 about an axis of (0,1,0).

Parameters:
m1 - the matrix4f

set

public final void set(Matrix4d m1)
Sets the value of this axis-angle to the rotational component of the passed matrix. If the specified matrix has no rotational component, the value of this AxisAngle4d is set to an angle of 0 about an axis of (0,1,0).

Parameters:
m1 - the matrix4d

set

public final void set(Matrix3f m1)
Sets the value of this axis-angle to the rotational component of the passed matrix. If the specified matrix has no rotational component, the value of this AxisAngle4d is set to an angle of 0 about an axis of (0,1,0).

Parameters:
m1 - the matrix3f

set

public final void set(Matrix3d m1)
Sets the value of this axis-angle to the rotational component of the passed matrix. If the specified matrix has no rotational component, the value of this AxisAngle4d is set to an angle of 0 about an axis of (0,1,0).

Parameters:
m1 - the matrix3d

set

public final void set(Quat4f q1)
Sets the value of this axis-angle to the rotational equivalent of the passed quaternion. If the specified quaternion has no rotational component, the value of this AxisAngle4d is set to an angle of 0 about an axis of (0,1,0).

Parameters:
q1 - the Quat4f

set

public final void set(Quat4d q1)
Sets the value of this axis-angle to the rotational equivalent of the passed quaternion. If the specified quaternion has no rotational component, the value of this AxisAngle4d is set to an angle of 0 about an axis of (0,1,0).

Parameters:
q1 - the Quat4d

toString

public java.lang.String toString()
Returns a string that contains the values of this AxisAngle4d. The form is (x,y,z,angle).

Overrides:
toString in class java.lang.Object
Returns:
the String representation

equals

public boolean equals(AxisAngle4d a1)
Returns true if all of the data members of AxisAngle4d a1 are equal to the corresponding data members in this AxisAngle4d.

Parameters:
a1 - the axis-angle with which the comparison is made
Returns:
true or false

equals

public boolean equals(java.lang.Object o1)
Returns true if the Object o1 is of type AxisAngle4d and all of the data members of o1 are equal to the corresponding data members in this AxisAngle4d.

Overrides:
equals in class java.lang.Object
Parameters:
o1 - the object with which the comparison is made
Returns:
true or false

epsilonEquals

public boolean epsilonEquals(AxisAngle4d a1,
                             double epsilon)
Returns true if the L-infinite distance between this axis-angle and axis-angle a1 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(angle1-angle2)].

Parameters:
a1 - the axis-angle to be compared to this axis-angle
epsilon - the threshold value

hashCode

public int hashCode()
Returns a hash code value based on the data values in this object. Two different AxisAngle4d objects with identical data values (i.e., AxisAngle4d.equals returns true) will return the same hash code value. Two objects with different data members may return the same hash value, although this is not likely.

Overrides:
hashCode in class java.lang.Object
Returns:
the integer hash code value

clone

public java.lang.Object clone()
Creates a new object of the same class as this object.

Overrides:
clone in class java.lang.Object
Returns:
a clone of this instance.
Throws:
java.lang.OutOfMemoryError - if there is not enough memory.
Since:
Java 3D 1.3
See Also:
Cloneable