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

## Class PolyhedronsSet.RotationTransform

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

All Implemented Interfaces:
  Transform<Euclidean3D,Euclidean2D>

Enclosing class:
  PolyhedronsSet

    private static class PolyhedronsSet.RotationTransform
    extends java.lang.Object
    implements Transform<Euclidean3D,Euclidean2D>

3D rotation as a Transform.

### Field Summary

Fields
`private Plane` `cachedOriginal` Cached original hyperplane.
`private Transform<Euclidean2D,Euclidean1D>` `cachedTransform` Cached 2D transform valid inside the cached original hyperplane.
`private Vector3D` `center` Center point of the rotation.
`private Rotation` `rotation` Vectorial rotation.

### Constructor Summary

Constructors
Constructor and Description
`PolyhedronsSet.RotationTransform(Vector3D center, Rotation rotation)` Build a rotation transform.

### Method Summary

Methods
`Plane` `apply(Hyperplane<Euclidean3D> hyperplane)` Transform an hyperplane of a space.
`SubHyperplane<Euclidean2D>` `apply(SubHyperplane<Euclidean2D> sub, Hyperplane<Euclidean3D> original, Hyperplane<Euclidean3D> transformed)` Transform a sub-hyperplane embedded in an hyperplane.
`Vector3D` `apply(Vector<Euclidean3D> point)` Transform a point of a space.

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

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

### Field Detail

#### center

    private Vector3D center

Center point of the rotation.

#### rotation

    private Rotation rotation

Vectorial rotation.

#### cachedOriginal

    private Plane cachedOriginal

Cached original hyperplane.

#### cachedTransform

    private Transform<Euclidean2D,Euclidean1D> cachedTransform

Cached 2D transform valid inside the cached original hyperplane.

### Constructor Detail

#### PolyhedronsSet.RotationTransform

    public PolyhedronsSet.RotationTransform(Vector3D center,
                                    Rotation rotation)

Build a rotation transform.

Parameters:
  `center` - center point of the rotation
  `rotation` - vectorial rotation

### Method Detail

#### apply

    public Vector3D apply(Vector<Euclidean3D> point)

Transform a point of a space.

Specified by:
  `apply` in interface `Transform<Euclidean3D,Euclidean2D>`
Parameters:
  `point` - point to transform
Returns:
  a new object representing the transformed point

#### apply

    public Plane apply(Hyperplane<Euclidean3D> hyperplane)

Transform an hyperplane of a space.

Specified by:
  `apply` in interface `Transform<Euclidean3D,Euclidean2D>`
Parameters:
  `hyperplane` - hyperplane to transform
Returns:
  a new object representing the transformed hyperplane

#### apply

    public SubHyperplane<Euclidean2D> apply(SubHyperplane<Euclidean2D> sub,
                                   Hyperplane<Euclidean3D> original,
                                   Hyperplane<Euclidean3D> transformed)

Transform a sub-hyperplane embedded in an hyperplane.

Specified by:
  `apply` in interface `Transform<Euclidean3D,Euclidean2D>`
Parameters:
  `sub` - sub-hyperplane to transform
  `original` - hyperplane in which the sub-hyperplane is defined (this is the original hyperplane, the transform has not been applied to it)
  `transformed` - hyperplane in which the sub-hyperplane is defined (this is the transformed hyperplane, the transform has been applied to it)
Returns:
  a new object representing the transformed sub-hyperplane