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 {@code apply} methods are the following ones for atransformed defined for dimension D:
- the transform can be applied to a point in the D-dimension space using its {@link #apply(Point)}method
- the transform can be applied to a (D-1)-dimension hyperplane in the D-dimension space using its {@link #apply(Hyperplane)} method
- the transform can be applied to a (D-2)-dimension sub-hyperplane in a (D-1)-dimension hyperplane using its {@link #apply(SubHyperplane,Hyperplane,Hyperplane)}method
@param < S> Type of the embedding space.
@param < T> Type of the embedded sub-space.
@since 3.0