# Transformation methods

The following methods must be implemented when creating a transformation (TcNcKinematicsInterfaces.h).

- virtual HRESULT TCOMAPI Forward (PTcCncTrafoParameter p)=0;
- virtual HRESULT TCOMAPI Backward (PTcCncTrafoParameter p)=0;
- virtual HRESULT TCOMAPI TrafoSupported (PTcCncTrafoParameter p, bool fwd)=0;
- virtual HRESULT TCOMAPI GetDimensions (PULONG pForwardInput, PULONG pForwardOutput)=0;

Forward | Transformation of the axis positions into the programming coordinate system.
PTcCncTrafoParameter *p | Current parameters of the transformation

Backward | Transformation of the programming coordinates into the axis coordinate system.
PTcCncTrafoParameter *p | Current parameters of the transformation

GetDimension | When the transformation is selected, a configuration request (required axis numbers) is executed once.
ULONG * pForwardInput | Number of forward transformation input coordinates (= number of reverse transformation output coordinates)
ULONG * pForwardInput | Number of forward transformation output coordinates (= number of reverse transformation input coordinates)

TrafoSupported | Initialising the transformation and requesting options
PTcCncTrafoParameter *p | Current parameters of the transformation
bool fwd |

## Notice

The corresponding member variables must be initialised in the constructor of the "ITcCncTrafo" class to dimension the input and output coordinates.

Dimensioning the input and output coordinates