Package org.apache.commons.math3.geometry.partitioning

# Interface Transform<S extends Space,T extends Space>

Type Parameters:
  `S` - Type of the embedding space.
  `T` - Type of the embedded sub-space.

public interface Transform<S extends Space,T extends Space>
This interface represents an inversible affine transform in a space.

Inversible affine transform include for example scalings, translations, rotations.

Transforms are dimension-specific. The consistency rules between the three `apply` methods are the following ones for a transformed defined for dimension D:

- the transform can be applied to a point in the D-dimension space using its `apply(Point)` method
- the transform can be applied to a (D-1)-dimension hyperplane in the D-dimension space using its `apply(Hyperplane)` method
- the transform can be applied to a (D-2)-dimension sub-hyperplane in a (D-1)-dimension hyperplane using its `apply(SubHyperplane, Hyperplane, Hyperplane)` method

Since:
  3.0

## Method Summary

Modifier and Type
Method
Description
`Hyperplane<S>`
`apply(Hyperplane<S> hyperplane)`
Transform an hyperplane of a space.
`SubHyperplane<T>`
`apply(SubHyperplane<T> sub, Hyperplane<S> original, Hyperplane<S> transformed)`
Transform a sub-hyperplane embedded in an hyperplane.
`Point<S>`
`apply(Point<S> point)`
Transform a point of a space.

## Method Details

### apply

Point<S> apply(Point<S> point)
Transform a point of a space.

Parameters:
  `point` - point to transform
Returns:
  a new object representing the transformed point

### apply

Hyperplane<S> apply(Hyperplane<S> hyperplane)
Transform an hyperplane of a space.

Parameters:
  `hyperplane` - hyperplane to transform
Returns:
  a new object representing the transformed hyperplane

### apply

SubHyperplane<T> apply(SubHyperplane<T> sub, Hyperplane<S> original, Hyperplane<S> transformed)
Transform a sub-hyperplane embedded in an hyperplane.

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