Interface Transform<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>,T extends Space,Q extends Point<T,Q>,F extends Hyperplane<T,Q,F,J>,J extends SubHyperplane<T,Q,F,J>>

Type Parameters:
S - Type of the origin space.
P - Type of the points in the origin space.
H - Type of the hyperplane in the origin space.
I - Type of the sub-hyperplane in the origin space.
T - Type of the destination sub-space.
Q - Type of the points in the destination sub-space.
F - Type of the hyperplane in the destination sub-space.
J - Type of the sub-hyperplane in the destination sub-space.

public interface Transform<S extends Space,P extends Point<S,P>,H extends Hyperplane<S,P,H,I>,I extends SubHyperplane<S,P,H,I>,T extends Space,Q extends Point<T,Q>,F extends Hyperplane<T,Q,F,J>,J extends SubHyperplane<T,Q,F,J>>
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
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    apply(H hyperplane)
    Transform an hyperplane of a space.
    apply(J sub, H original, H transformed)
    Transform a sub-hyperplane embedded in an hyperplane.
    apply(P point)
    Transform a point of a space.
  • Method Details Link icon

    • apply Link icon

      P apply(P point)
      Transform a point of a space.
      Parameters:
      point - point to transform
      Returns:
      a new object representing the transformed point
    • apply Link icon

      H apply(H hyperplane)
      Transform an hyperplane of a space.
      Parameters:
      hyperplane - hyperplane to transform
      Returns:
      a new object representing the transformed hyperplane
    • apply Link icon

      J apply(J sub, H original, H 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