package tc.oc.pgm.rotation; import javax.annotation.Nonnull; /** * Represents a transformation to a {@link RotationState} object. */ public interface RotationTransformation { /** * Applies the stored transformation to the given argument. * @param state RotationState to transform * @return New RotationState instance with the specified transformations * * @throws NullPointerException if state is null */ public @Nonnull RotationState apply(@Nonnull RotationState state); }