org.apache.commons.math3.geometry.euclidean.threed

## Class RotationOrder

- java.lang.Object
- - org.apache.commons.math3.geometry.euclidean.threed.RotationOrder

    public final class RotationOrder
    extends java.lang.Object

This class is a utility representing a rotation order specification for Cardan or Euler angles specification. This class cannot be instanciated by the user. He can only use one of the twelve predefined supported orders as an argument to either the `Rotation.Rotation(RotationOrder,double,double,double)` constructor or the `Rotation.getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder)` method.

Since:
  1.2
Version:
  $Id: RotationOrder.java 1416643 2012-12-03 19:37:14Z tn $

### Field Summary

Fields
`private Vector3D` `a1` Axis of the first rotation.
`private Vector3D` `a2` Axis of the second rotation.
`private Vector3D` `a3` Axis of the third rotation.
`private java.lang.String` `name` Name of the rotations order.
`static RotationOrder` `XYX` Set of Euler angles.
`static RotationOrder` `XYZ` Set of Cardan angles.
`static RotationOrder` `XZX` Set of Euler angles.
`static RotationOrder` `XZY` Set of Cardan angles.
`static RotationOrder` `YXY` Set of Euler angles.
`static RotationOrder` `YXZ` Set of Cardan angles.
`static RotationOrder` `YZX` Set of Cardan angles.
`static RotationOrder` `YZY` Set of Euler angles.
`static RotationOrder` `ZXY` Set of Cardan angles.
`static RotationOrder` `ZXZ` Set of Euler angles.
`static RotationOrder` `ZYX` Set of Cardan angles.
`static RotationOrder` `ZYZ` Set of Euler angles.

### Constructor Summary

Constructors
`private` `RotationOrder(java.lang.String name, Vector3D a1, Vector3D a2, Vector3D a3)` Private constructor.

### Method Summary

Methods
`Vector3D` `getA1()` Get the axis of the first rotation.
`Vector3D` `getA2()` Get the axis of the second rotation.
`Vector3D` `getA3()` Get the axis of the second rotation.
`java.lang.String` `toString()` Get a string representation of the instance.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### XYZ

    public static final RotationOrder XYZ

Set of Cardan angles. this ordered set of rotations is around X, then around Y, then around Z

#### XZY

    public static final RotationOrder XZY

Set of Cardan angles. this ordered set of rotations is around X, then around Z, then around Y

#### YXZ

    public static final RotationOrder YXZ

Set of Cardan angles. this ordered set of rotations is around Y, then around X, then around Z

#### YZX

    public static final RotationOrder YZX

Set of Cardan angles. this ordered set of rotations is around Y, then around Z, then around X

#### ZXY

    public static final RotationOrder ZXY

Set of Cardan angles. this ordered set of rotations is around Z, then around X, then around Y

#### ZYX

    public static final RotationOrder ZYX

Set of Cardan angles. this ordered set of rotations is around Z, then around Y, then around X

#### XYX

    public static final RotationOrder XYX

Set of Euler angles. this ordered set of rotations is around X, then around Y, then around X

#### XZX

    public static final RotationOrder XZX

Set of Euler angles. this ordered set of rotations is around X, then around Z, then around X

#### YXY

    public static final RotationOrder YXY

Set of Euler angles. this ordered set of rotations is around Y, then around X, then around Y

#### YZY

    public static final RotationOrder YZY

Set of Euler angles. this ordered set of rotations is around Y, then around Z, then around Y

#### ZXZ

    public static final RotationOrder ZXZ

Set of Euler angles. this ordered set of rotations is around Z, then around X, then around Z

#### ZYZ

    public static final RotationOrder ZYZ

Set of Euler angles. this ordered set of rotations is around Z, then around Y, then around Z

#### name

    private final java.lang.String name

Name of the rotations order.

#### a1

    private final Vector3D a1

Axis of the first rotation.

#### a2

    private final Vector3D a2

Axis of the second rotation.

#### a3

    private final Vector3D a3

Axis of the third rotation.

### Constructor Detail

#### RotationOrder

    private RotationOrder(java.lang.String name,
                 Vector3D a1,
                 Vector3D a2,
                 Vector3D a3)

Private constructor. This is a utility class that cannot be instantiated by the user, so its only constructor is private.

Parameters:
  `name` - name of the rotation order
  `a1` - axis of the first rotation
  `a2` - axis of the second rotation
  `a3` - axis of the third rotation

### Method Detail

#### toString

    public java.lang.String toString()

Get a string representation of the instance.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  a string representation of the instance (in fact, its name)

#### getA1

    public Vector3D getA1()

Get the axis of the first rotation.

Returns:
  axis of the first rotation

#### getA2

    public Vector3D getA2()

Get the axis of the second rotation.

Returns:
  axis of the second rotation

#### getA3

    public Vector3D getA3()

Get the axis of the second rotation.

Returns:
  axis of the second rotation